錯誤調試
阿新 • • 發佈:2019-03-24
new listen gif 操作 文件 all mes row 顯示
各個瀏覽器都有打開自己錯誤調試的方法,ie需在工具欄中打開,但沒有控制臺,會彈出彈窗,其它瀏覽器還好,都能顯示控制臺;
try{}catch(error){}finally{}:這個try-catch語句經常用到,將可能發生錯誤的語句塊兒放在try裏,將發生錯誤後執行的代碼放在catch裏,finally語句塊兒 是可選的,如果存在,無論執行try還是catch最後都會執行finally,需要註意的是,當try或catch裏有return時,而finally也存在return,則finally裏的return會覆蓋前面兩個的return。
錯誤類型:
Erroe:Error是基本類型,所有報錯類型都繼承該類型
EvalError:eval()函數執行發生錯誤時發生
RangeError:數值超出範圍
ReferenceError:找不到對象
SyntaxError:將錯誤語法的字符串傳入eval()方法時發生
TypeError:執行指定類型的操作時,變量類型不對時拋出
URIError:url解碼編碼錯誤時拋出
throw 可以拋出自定義錯誤信息,在throw後面跟上自定義的錯誤信息即可,無類型規定。
throw 12345; throw "hellow"; throw true; throw {name:"error"}; throw "aaa未定義"; throw new Error("錯誤信息"); throw new SyntaxError("錯誤信息"); throw new RangeError("錯誤信息"); throw new EvalError("錯誤信息"); throw new URIError("錯誤信息"); throw new ReferenceError("錯誤信息");
利用原型鏈還可以繼承Error來創建自定義錯誤類型。此時需要為新創建的錯誤類型指定name和message屬性。
function CustomError(message){
this.name="CustomError";
this.message=message;
}
CustomError.prototype=new Error();
throw new CustomError("my message");
也可以用onerror事件來代替瀏覽器自身的報錯,不過得阻止瀏覽器的默認報錯:
window.addEventListener("error",function(message){
console.log(message);
return false;//竟然並無卵用,瀏覽器自身還是要報錯;
},false);
console.log(aaa);
圖像也支持error事件。只要圖像中url特性中的URL不能返回可以被識別的圖像格式,就會觸發error事件。此時error事件遵循DOM格式,會返回一個以圖像為目標的event對象:
var image=new Image();
image.addEventListener("load",function(event){
console.log("image loaded!");
},false);
image.addEventListener("error",function(event){
console.log("image not loaded!");
},false);
image.src="haaa.gif";//指定的文件不存在
錯誤調試