在IE10中已經新加入了Error.stack 的支持,可以加快開發人員的腳本調試,并更正錯誤。尤其是一些難以重現的錯誤,如異步操作等。以下內容來自于微軟IE團隊,對于這個特性描述的非常詳細。
調試應用程序JavaScript 中的結構化錯誤處理依賴于 throw
和 try/catch
,開發人員將在其中聲明一個錯誤,并將控制流傳遞至處理錯誤的程序的某一部分。當某一錯誤被引發時,Chakra,即 Internet Explorer 中的 JavaScript 引擎將捕獲引發該錯誤的調用鏈,這一過程也被稱為調用堆棧。如果被引發的對象是一個 Error
(或者是一個函數,且其原型鏈將導致 Error
),那么 Chakra 將創建一個堆棧跟蹤,即可人工讀取的調用堆棧列表。該列表將被表示為一種屬性,即 Error
對象中的 stack
。stack
包含錯誤消息、函數名稱和該函數的源文件位置信息。這些信息將有助于開發人員了解所調用的函數,甚至查看錯誤的代碼行,從而迅速診斷缺陷。例如,這些信息可能表明傳遞至函數的某一參數為空,或為無效類型。
讓我們一同來查看一個簡單的腳本,并以此展開深入討論。該腳本試圖計算 (0, 2)
和 (12, 10)
兩點間的距離:
新聞熱點
疑難解答