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