1. 程式人生 > >js異常處理

js異常處理

<script>
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");
y.innerHTML="錯誤:" + err + "。";
}
}
</script>
try {
    tryCode - 嘗試執行程式碼塊
}
catch(err) {
    catchCode - 捕獲錯誤的程式碼塊
} 
finally {
    finallyCode - 無論 try / catch 結果如何都會執行的程式碼塊
}

例項:

 function catchErro() {
     try {
         if (arguments.length > 0) {
             arguments[0]();
         }

     } catch (err) {
         if (arguments.length > 1) {
             arguments[1](err);
         }

     } finally {
         if (arguments.length > 2) {
             arguments[2]();
         }

     }
 }
 catchErro(
     function () {
         log("函式執行try");
         throw "異常程式碼";
     },
     function (err) {
         log("函式捕獲到異常" + err);
     },
     function () {
         log("函式執行finally");
     });