1.try和catch的用法
try catch 錯誤處理;
執(zhí)行規(guī)則:首先執(zhí)行try中的代碼 如果拋出異常會由catch去捕獲并執(zhí)行 如果沒有發(fā)生異常 catch去捕獲會被忽略掉 但是不管有沒有異常最后都會執(zhí)行腔稀。
- try 語句使你能夠測試代碼塊中的錯誤。
- catch 語句允許你處理錯誤桶良。
- throw 語句允許你創(chuàng)建自定義錯誤。(拋出錯誤)
- finally 使你能夠執(zhí)行代碼沮翔,在 try 和 catch 之后陨帆,無論結(jié)果如何。
2.代碼演示
2.1代碼流程
try{
代碼塊采蚀;
代碼 throw"字符" //拋出錯誤
}catch(參數(shù)){ //抓住throw拋出的錯誤
//處理錯誤并執(zhí)行
}finally{
//無論try catch結(jié)果如何還是繼續(xù)執(zhí)行
}
2.2代碼示例
<p>請輸出一個 5 到 10 之間的數(shù)字:</p>
<input id="demo" type="text">
<button type="button" onclick="myFunction()">測試輸入</button>
<p id="mess"></p>
<script type="text/javascript">
function myFunction(){
try{
var x=document.getElementById("demo").value; // 取元素的值
if(x=="") throw "值為空"; //根據(jù)獲取的值疲牵,拋出錯誤
if(isNaN(x)) throw "不是數(shù)字";
if(x>10) throw "太大";
if(x<5) throw "太小";
}
catch(err){
var y=document.getElementById("mess"); //抓住上面throw拋出的錯誤,給p標(biāo)簽顯示
y.innerHTML="錯誤:" + err + "榆鼠。";
} finally {
document.getElementById("demo").value = "";
}
}
try 和catch一般是在預(yù)計某段代碼可能會出錯(比如瀏覽器兼容問題)或者想故意利用這種錯誤來達成目的(這其實是一種偷懶的行為)時纲爸,就可以把這段代碼放入try內(nèi),然后當(dāng)出現(xiàn)錯誤時就會自動去執(zhí)行catch里的代碼妆够。