try和catch的用法
try catch 錯誤處理;
執行規則:首先執行try中的代碼 如果拋出異常會由catch去捕獲並執行 如果沒有發生異常 catch去捕獲會被忽略掉 但是不管有沒有異常最后都會執行。
try 語句使你能夠測試代碼塊中的錯誤。
catch 語句允許你處理錯誤。
throw 語句允許你創建自定義錯誤。(拋出錯誤)
finally 使你能夠執行代碼,在 try 和 catch 之后,無論結果如何。
代碼流程
try{ 代碼塊; 代碼 throw"字符" //拋出錯誤 }catch(參數){ //抓住throw拋出的錯誤 //處理錯誤並執行 }finally{ //無論try catch結果如何還是繼續執行 }
代碼示例
<p>請輸出一個 5 到 10 之間的數字:</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 "值為空"; //根據獲取的值,拋出錯誤 if(isNaN(x)) throw "不是數字"; if(x>10) throw "太大"; if(x<5) throw "太小"; } catch(err){ var y=document.getElementById("mess"); //抓住上面throw拋出的錯誤,給p標簽顯示 y.innerHTML="錯誤:" + err + "。"; } finally { document.getElementById("demo").value = ""; } }
try 和catch一般是在預計某段代碼可能會出錯(比如瀏覽器兼容問題)或者想故意利用這種錯誤來達成目的(這其實是一種偷懶的行為)時,就可以把這段代碼放入try內,然后當出現錯誤時就會自動去執行catch里的代碼。