亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取類似 console.error() 的跟蹤并生成錯誤消息 [duplicate]

獲取類似 console.error() 的跟蹤并生成錯誤消息 [duplicate]

郎朗坤 2023-11-12 22:30:56
當我這樣做時,我會得到一個很好的線索,知道它來自哪里console.error('Custom Error')例如:func1();function func1() {  func2();}function func2() {  func3();}function func3() {  console.error('Custom Error');}我得到:我怎樣才能在不產生錯誤的情況下做到這一點,更像是?console.log()
查看完整描述

1 回答

?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

您可以使用?console.trace()?而不是?console.error()。

這是您在控制臺上看到的:console.trace()

Trace

func3 @ js:24

func2 @ js:19

func1 @ js:15

(anonymous) @ js:12

而這與:console.error()


Custom Error

console.error? ?@? ?snippet-javascript-console.min.js?v=1:1

func3? ?@? ?js:23

func2? ?@? ?js:19

func1? ?@? ?js:15

(anonymous) @? ?js:12

如果要將堆棧跟蹤獲取到變量中,而不僅僅是記錄它,則可以使用?Error.captureStackTrace(targetObject) 或 Error().stack,但兩者都是非標準的:


func1();


function func1() {

? func2();

}


function func2() {

? func3();

}


function func3() {

? const fakeErrorObject = {};

??

? Error.captureStackTrace(fakeErrorObject)

??

? const captureStackTraceTrace = fakeErrorObject.stack;

? const errorStackTrace = Error('Foo').stack;

??

? console.log(captureStackTraceTrace.replaceAll('at', '??'));

? console.log(errorStackTrace.replaceAll('at', '??'));

}

.as-console-wrapper {

? max-height: none !important;

}


查看完整回答
反對 回復 2023-11-12
  • 1 回答
  • 0 關注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號