[英]Showing JavaScript exception message in Chrome dev tools
我正在使用Chrome開發工具來調試我的JavaScript。 當我告訴Chrome瀏覽器“不要在異常情況下暫停播放”並加載腳本時,我會清楚地了解到出了什么問題,並突出顯示了正確的行:
var back_buffer = goog.dom.getElement('back_buffer').getContext('2d');
--> "Uncaught TypeError: Cannot call method 'getContext' of null"
好的,這很有意義:我的canvas元素名稱中有一個錯字,因此'getElement'返回null。
現在開始我的問題:當我告訴Chrome瀏覽器“暫停未捕獲的異常”時,它仍正確地突出顯示了腳本中令人反感的行,但是現在,漂亮的,可理解的錯誤描述已經消失了! 怎么來的? 即使在調試模式下,我也希望看到錯誤消息,因為它非常有幫助。 我四處戳,但找不到任何地方。
有人可以幫忙嗎?
目前似乎沒有很好的方法來執行此操作。 這是您可以獲得的最接近的:
該錯誤未顯示,因為該腳本的執行在異常發生之前就已暫停。
錯誤之前會暫停,因此您可以在控制台中調試某些內容。 在您所談論的情況下,我傾向於做的事情是,並且范圍變量不再提供任何更多信息,是在控制台中添加一些監視表達式或執行一些命令。
在您的back_buffer情況下,您可以例如添加一個監視表達式,例如goog.dom.getElement('back_buffer')
以便查看其解析結果。 如果該表達式導致錯誤,您將在該處看到錯誤消息,就像發生腳本錯誤之后一樣。
對於某些人來說,可能並不完全清楚,當腳本執行停止時,執行上下文與腳本暫停時的執行上下文相同,因此可以在控制台中通過console.log()或控制台訪問所有局部變量。 console.dir()或其他任何東西。
當您將漂亮的打印設置為開時,在那一行上停下來的行將不會太多,因此在大多數情況下,您不必費時間搜索即可了解導致錯誤的原因以及原因。
希望對您有所幫助,PM5544。
執行后,您應該能夠在有問題的源代碼行下方的紅色氣泡消息中看到相同的文本。
只需再執行一次“步驟”,就會出現紅色氣泡。 這是合乎邏輯的,因為它會在錯誤/氣泡行為發生之前暫停。
如果捕獲到異常並將其發送到日志該怎么辦:
try
{
var back_buffer = goog.dom.getElement('back_buffer').getContext('2d');
}
catch(err)
{
console.log(err);
}
進入控制台后,您可以更詳細地檢查對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.