flash 報錯捕獲(Catch All Exception in Flash)
更新時間:2013年03月18日 15:12:05 作者:
就是在全局任何地方產(chǎn)生的錯誤如果沒有被捕獲,都可以在捕獲階段和冒泡階段被捕獲,接下來為大家介紹一種可以捕捉所有錯誤的方法,感興趣的你可不要錯過了哈
在Flash Player 10.1及以上版本中,adobe新增了全局錯誤處理程序UncaughtErrorEvents。就是在全局任何地方產(chǎn)生的錯誤如果沒有被捕獲,都可以在捕獲階段和冒泡階段被捕獲。
調(diào)度事件的 UncaughtErrorEvents 對象與 LoaderInfo 對象或 Loader 對象關(guān)聯(lián)。使用下列屬性訪問uncaughtErrorEvents 實例:
LoaderInfo.uncaughtErrorEvents:檢測同一 SWF 中定義的代碼中的未被捕獲的錯誤。
Loader.uncaughtErrorEvents:檢測 Loader 對象加載的 SWF 中定義的代碼中的未被捕獲的錯誤。
如果內(nèi)容在運(yùn)行時的調(diào)試器版本中運(yùn)行,當(dāng)發(fā)生未被捕獲的錯誤時,會出現(xiàn)一個未被捕獲的錯誤對話框。對于這些運(yùn)行時版本,即使為 uncaughtError 事件注冊了偵聽器,仍會出現(xiàn)該錯誤對話框。在這種情況下,要防止出現(xiàn)該對話框,可調(diào)用 UncaughtErrorEvent 對象的preventDefault() 方法。
但是這個方法的缺陷就是你根本不知道這些錯誤是從哪里來的,也就是你沒有辦法從event中追蹤到消息來源,所以你不能就特定的消息做特出的處理。
如果你的項目有可能10.1版本以下的,所以你最好
Flex代碼 :
if(loaderInfo.hasOwnProperty("uncaughtErrorEvents"))
{
IEventDispatcher(loaderInfo["uncaughtErrorEvents"]).addEventListener("uncaughtError", uncaughtErrorHandler);
}
調(diào)度事件的 UncaughtErrorEvents 對象與 LoaderInfo 對象或 Loader 對象關(guān)聯(lián)。使用下列屬性訪問uncaughtErrorEvents 實例:
LoaderInfo.uncaughtErrorEvents:檢測同一 SWF 中定義的代碼中的未被捕獲的錯誤。
Loader.uncaughtErrorEvents:檢測 Loader 對象加載的 SWF 中定義的代碼中的未被捕獲的錯誤。
如果內(nèi)容在運(yùn)行時的調(diào)試器版本中運(yùn)行,當(dāng)發(fā)生未被捕獲的錯誤時,會出現(xiàn)一個未被捕獲的錯誤對話框。對于這些運(yùn)行時版本,即使為 uncaughtError 事件注冊了偵聽器,仍會出現(xiàn)該錯誤對話框。在這種情況下,要防止出現(xiàn)該對話框,可調(diào)用 UncaughtErrorEvent 對象的preventDefault() 方法。
但是這個方法的缺陷就是你根本不知道這些錯誤是從哪里來的,也就是你沒有辦法從event中追蹤到消息來源,所以你不能就特定的消息做特出的處理。
如果你的項目有可能10.1版本以下的,所以你最好
Flex代碼 :
復(fù)制代碼 代碼如下:
if(loaderInfo.hasOwnProperty("uncaughtErrorEvents"))
{
IEventDispatcher(loaderInfo["uncaughtErrorEvents"]).addEventListener("uncaughtError", uncaughtErrorHandler);
}
相關(guān)文章
flex 遍歷Object對象內(nèi)容的實現(xiàn)代碼
這篇文章主要介紹了flex 遍歷Object對象內(nèi)容的實現(xiàn)代碼,需要的朋友可以參考下2014-07-07Flex打開新窗口將主窗口數(shù)據(jù)傳給子窗口然后返回
主窗口打開子窗口,主窗口有數(shù)據(jù)傳給打開的子窗口,子窗口關(guān)閉時直接返回主窗口,具體的實現(xiàn)如下,感興趣的朋友可以參考2013-12-12