【问题标题】:Try catch ex.stack get first line only尝试 catch ex.stack 仅获取第一行
【发布时间】:2021-04-01 16:03:41
【问题描述】:

如何仅获取 console.log(ex.stack) 的第一行>

例如我只想要这个:

TypeError: Object #<Object> has no method 'debug'

除此之外:

TypeError: Object #<Object> has no method 'debug'
    at eval at <anonymous> (unknown source)
    at eval (native)
    at Object._evaluateOn (unknown source)
    at Object._evaluateAndWrap (unknown source)
    at Object.evaluate (unknown source)

【问题讨论】:

    标签: javascript google-chrome-devtools console.log


    【解决方案1】:

    如果你想要错误信息,直接抓取即可。无需从完整的堆栈跟踪中解析出来:

    var Object = {};
    try {
      Object.debug();
    } catch(ex) {
      console.log(ex.message);
    }

    如果由于某种原因无法做到这一点,则堆栈跟踪似乎只是一个字符串:

    console.log(typeof ex.stack);
    

    字符串

    ...所以选择你最喜欢的字符串操作技术:

    var Object = {};
    try {
      Object.debug();
    } catch(ex) {
      console.log(ex.stack.split("\n", 1).join(""));
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-10
      • 1970-01-01
      • 1970-01-01
      • 2021-02-14
      • 2015-09-26
      相关资源
      最近更新 更多