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里的代碼。
