javascript Error 對象 錯誤處理
更新時間:2008年05月18日 21:44:32 作者:
javascript常見error對象處理,錯誤代碼集合
Error對象
Property:
name: 錯誤名
number: 錯誤號
description: 描述
message: 錯誤信息,多同description
FF Only 屬性
fileName: 錯誤發(fā)生的文件
stack: 錯誤發(fā)生時的調用堆棧
Constructor:
Error(){
this(0,"")}
Error(description){
this(0,description)}
Error(number,description){
....}
構造函數(shù)參數(shù)不帶name,是因為Error對象的name對應于它的來源:
EvalError: 錯誤發(fā)生在eval()中
SyntaxError: 語法錯誤,錯誤發(fā)生在eval()中,因為其它點發(fā)生SyntaxError會無法通過解釋器
RangeError: 數(shù)值超出范圍
ReferenceError: 引用不可用
TypeError: 變量類型不是預期的
URIError: 錯誤發(fā)生在encodeURI()或decodeURI()中
拋出Error:
throw new Error(0,"Error Demo");
new Error可省略:
throw("Error Demo");
捕獲Error:
try catch finally語句:
try{
..可能錯誤的語句..}
catch(e){
..錯誤發(fā)生后的處理..}
finally{
..完成后執(zhí)行的語句塊..}
finally不是必須的
如果嵌套,兩個catch不要使用同一個參數(shù)名,以免覆蓋
傳入的參數(shù)是一個Error對象,可以從中得到錯誤信息
FF支持一個try多個catch,因為Js為弱類型不推薦使用
window.onerror錯誤捕獲:
window.onerror=function(Msg,Url,Num){}
onerror事件會傳給回調函數(shù)3個默認參數(shù)
Msg: 錯誤信息
Url: 發(fā)生錯誤的文件的Url
Num: 錯誤發(fā)生位置的行號
window.onerror還能處理SyntaxError,比try catch更強大。
但是onerror屬于bom,所以各瀏覽器廠家對其的支持都不同。
如IE發(fā)生error時,正常的代碼會繼續(xù)執(zhí)行;在FF中,代碼將結束;Safari只支持Image的onerror事件處理。
Image.onerror
onerror還可以應用于其它HTMLElement上,最常見的是<img />元素
<img src="sample.jpg" onerror="javascript:alert('圖像載入錯誤');" />
處理Error:
判斷錯誤類型:
catch(e){
if(e.name=="RangeError")
alert("錯誤提示");}
或
catch(e){
if(e instanceof TypeError)
alert("錯誤提示");}
Property:
name: 錯誤名
number: 錯誤號
description: 描述
message: 錯誤信息,多同description
FF Only 屬性
fileName: 錯誤發(fā)生的文件
stack: 錯誤發(fā)生時的調用堆棧
Constructor:
Error(){
this(0,"")}
Error(description){
this(0,description)}
Error(number,description){
....}
構造函數(shù)參數(shù)不帶name,是因為Error對象的name對應于它的來源:
EvalError: 錯誤發(fā)生在eval()中
SyntaxError: 語法錯誤,錯誤發(fā)生在eval()中,因為其它點發(fā)生SyntaxError會無法通過解釋器
RangeError: 數(shù)值超出范圍
ReferenceError: 引用不可用
TypeError: 變量類型不是預期的
URIError: 錯誤發(fā)生在encodeURI()或decodeURI()中
拋出Error:
throw new Error(0,"Error Demo");
new Error可省略:
throw("Error Demo");
捕獲Error:
try catch finally語句:
try{
..可能錯誤的語句..}
catch(e){
..錯誤發(fā)生后的處理..}
finally{
..完成后執(zhí)行的語句塊..}
finally不是必須的
如果嵌套,兩個catch不要使用同一個參數(shù)名,以免覆蓋
傳入的參數(shù)是一個Error對象,可以從中得到錯誤信息
FF支持一個try多個catch,因為Js為弱類型不推薦使用
window.onerror錯誤捕獲:
window.onerror=function(Msg,Url,Num){}
onerror事件會傳給回調函數(shù)3個默認參數(shù)
Msg: 錯誤信息
Url: 發(fā)生錯誤的文件的Url
Num: 錯誤發(fā)生位置的行號
window.onerror還能處理SyntaxError,比try catch更強大。
但是onerror屬于bom,所以各瀏覽器廠家對其的支持都不同。
如IE發(fā)生error時,正常的代碼會繼續(xù)執(zhí)行;在FF中,代碼將結束;Safari只支持Image的onerror事件處理。
Image.onerror
onerror還可以應用于其它HTMLElement上,最常見的是<img />元素
<img src="sample.jpg" onerror="javascript:alert('圖像載入錯誤');" />
處理Error:
判斷錯誤類型:
catch(e){
if(e.name=="RangeError")
alert("錯誤提示");}
或
catch(e){
if(e instanceof TypeError)
alert("錯誤提示");}
相關文章
基于layer.js實現(xiàn)收貨地址彈框選擇然后返回相應的地址信息
這篇文章主要介紹了基于layer.js實現(xiàn)收貨地址彈框選擇然后返回相應的地址信息,需要的朋友可以參考下2017-05-05javascript小數(shù)計算出現(xiàn)近似值的解決辦法
在javascript里面,小數(shù)只能進行相似計算,例如:5.06+1.30,你得到的結果會是6.359999999999999,但有的小數(shù)計算又是正確的,如果計算出現(xiàn)了近似值,你可以用如下的方法計算。2010-02-02Javascript中的回調函數(shù)和匿名函數(shù)的回調示例介紹
這篇文章主要介紹了Javascript中的回調函數(shù)和匿名函數(shù)的回調,需要的朋友可以參考下2014-05-05artDialog+plupload實現(xiàn)多文件上傳
這篇文章主要介紹了artDialog+plupload實現(xiàn)多文件上傳的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07smartupload實現(xiàn)文件上傳時獲取表單數(shù)據(jù)(推薦)
這篇文章主要介紹了smartupload實現(xiàn)文件上傳時獲取表單數(shù)據(jù)的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-12-12