這個js有六種錯誤類型备畦。
如TypeError恕酸,RagneError等等。我們也可以自定義一些錯誤類型计螺。比如說年齡太小這個錯誤類型。
舉個例子
<!DOCTYPE html>
<html>
<body>
<script>
function myFunction(){
try{
x=document.getElementById("demo").value;
if (x<50) throw "too young";
if (x>50) throw "too old"
}
catch(err){
alert(err)
}
}
</script>
<p>請輸入你的年齡:</p>
<input id="demo" type="text">
<button type="button" onclick="myFunction()">測試輸入值</button>
<p id="mess"></p>
</body>
</html>
上述這個例子并沒有定義err類的一些屬性瞧壮,比如name登馒,message,等咆槽。不算嚴(yán)格意義上的自定義錯誤類谊娇,而只是跑出了一個異常。
<script>
function nErrorType(name,message){
this.name=name;
this.message=message;
}
//構(gòu)造函數(shù)
try{
var e=new nErrorType("ageError",'age error is occur');
throw e;
}
//利用上述構(gòu)造函數(shù)構(gòu)造了一個新的錯誤類型
catch(err){
alert(err.name);
alert(err.message)
}
</script>
利用構(gòu)造函數(shù)可以構(gòu)造一個新的錯誤類型罗晕,其實就是error對象。極化所有的js對象都可以通過構(gòu)造函數(shù)法來進(jìn)行構(gòu)造赠堵。
參考
JavaScript 錯誤 - Throw小渊、Try 和 Catch
js拋出自定義異常 - zhang197093的博客 - 博客頻道 - CSDN.NET