JavaScriptFAQ(二十五完)——錯誤處理
二十二、錯誤處理
1、禁止JS錯誤(Suppress JS Errors)
Q:我是否可以禁止JavaScript錯誤資訊?
A:可以。要禁止頁面上所有的JavaScript錯誤資訊,你要把下面一段程式碼放在頁面的HEAD部分:
<SCRIPT language="JavaScript"> <!-- function silentErrorHandler() {return true;} window.onerror=silentErrorHandler; //--> </SCRIPT>
或者如何你有頁面引入的.js檔案,可以在其中使用相似程式碼(不使用SCRIPT標籤)。關於可執行的程式碼例項,參考我們的錯誤處理演示程式。
2、新增你自己的錯誤處理程式(Adding Your Own Error Handler)
Q:我可以設定自己的錯誤處理程式嗎?
A:當然可以。使用下面的JavaScript程式碼定義你自己的錯誤處理程式:
function handlerFunction(description,page,line) { // put error-handling operators here return true } window.onerror=handlerFunction
你的錯誤處理函式可以使用下列可選引數:
- 錯誤的文字描述
- 錯誤發生的頁面地址
- 錯誤發生的行號
如果你希望這個錯誤處理函式在完成自定義的錯誤處理後,再呼叫瀏覽器的預設錯誤處理,就必須返回false。如果你不想呼叫瀏覽器的預設錯誤處理機制,函式就必須返回true。程式碼示例參考錯誤處理演示程式。
3、錯誤處理演示程式(Error Handling Demo)
Q:我可以動態改變JavaScript的錯誤處理程式嗎?
A:可以。要改變JavaScript錯誤處理程式,只需要設定window.onerror的值為函式的名稱,它就會作為你的新的錯誤處理程式。
這裡是一個演示程式,你可以測試三個不同的錯誤處理程式:
- 瀏覽器預設的錯誤處理方法
- 顯示自定義警告資訊框的錯誤處理程式
- 禁止所有錯誤的資訊的“安靜”錯誤處理程式
Custom Error HandlerSilent Error HandlerDefault Error Handler
- 使用選擇框設定或改變錯誤處理程式。
- 點選“Fire an Error”測試活動的錯誤處理程式。
下面是演示程式中的錯誤處理程式的原始碼:
function defaultHandler() {return false} function silentHandler() {return true} function customHandler(desc,page,line,chr) { alert( `JavaScript error occurred! /n` +`The error was handled by ` +`a customized error handler./n` +`/nError description: /t`+desc +`/nPage address: /t`+page +`/nLine number: /t`+line ) return true }
寫在最後:
該篇是JavaScript FAQ系列的最後一篇。通過這一系列的翻譯讓我以前很多不明確的問題得到了解決,也希望能給看到這一系列翻譯的各位帶來一些收穫。由於這一系列文章的討論大多是基於舊版的瀏覽器,可能有些問題有了新的解決方法,希望大家可以積極討論。
由於本人水平有限,在翻譯中雖然對很多句子斟酌再三,但是難免有不能表達原文之意的地方,希望大家指正。而如果各位E文比較好,可以直接點選每個主題上的連結,直接檢視原文。
相關文章
- 錯誤處理
- PHP 錯誤處理PHP
- php錯誤處理PHP
- Go 錯誤處理Go
- Swift錯誤處理Swift
- Zabbix錯誤處理
- mysqldump錯誤處理MySql
- 錯誤處理:如何通過 error、deferred、panic 等處理錯誤?Error
- PHP錯誤處理和異常處理PHP
- go的錯誤處理Go
- Python錯誤處理Python
- 異常錯誤資訊處理
- PHP 核心特性 - 錯誤處理PHP
- 常用模組 PHP 錯誤處理PHP
- laravel9 錯誤處理Laravel
- 淺談前端錯誤處理前端
- Oracle異常錯誤處理Oracle
- ORACLE 異常錯誤處理Oracle
- 15-錯誤處理(Error)Error
- 學習Rust 錯誤處理Rust
- axios 的錯誤處理iOS
- Go語言之錯誤處理Go
- GOLANG錯誤處理最佳方案Golang
- Objective-C:錯誤處理Object
- javascript之處理Ajax錯誤JavaScript
- 搭建dataguard時,錯誤處理
- Oracle錯誤處理思路(一)Oracle
- COM的錯誤處理 (轉)
- 使用PHP錯誤處理 (轉)PHP
- openGauss 處理錯誤表
- Python錯誤處理和異常處理(二)Python
- 【故障處理】CRS-1153錯誤處理
- 【故障處理】ORA-19809錯誤處理
- rust學習十、異常處理(錯誤處理)Rust
- oracle ora-00054錯誤處理Oracle
- 程式錯誤型別及其處理型別
- 請教 Element 的錯誤處理
- Restful API 中的錯誤處理RESTAPI