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