JavaScript try…catch语句
try…catch是各种编程语言中常用的语句。基本上,它用于处理代码中容易出错的部分。它首先测试代码可能包含的所有错误,然后实施措施来处理这些错误(如果发生)。一个良好的编程方法是将复杂的代码放在try…catch语句中。
让我们逐个讨论每个语句块:
try{}语句: 在这里,需要进行可能错误测试的代码放在try块中。如果发生任何错误,它将传递到catch{}块中采取适当的操作和处理错误。否则,它将执行其中编写的代码。
catch{}语句: 这个块通过执行其中编写的一系列语句来处理代码的错误。这个块包含用户定义的异常处理程序或内置处理程序。只有当try块中需要处理容易出错的代码时,才会执行此块。否则,catch块将被跳过。
注意:catch{}语句在try{}语句执行后才执行。此外,一个try块可以包含一个或多个catch块。
语法
try{
expression; } //code to be written.
catch(error){
expression; } // code for handling the error.
try…catch 示例
<html>
<head> Exception Handling</br></head>
<body>
<script>
try{
var a= ["34","32","5","31","24","44","67"]; //a is an array
document.write(a); // displays elements of a
document.write(b); //b is undefined but still trying to fetch its value. Thus catch block will be invoked
}catch(e){
alert("There is error which shows "+e.message); //Handling error
}
</script>
</body>
</html>
Throw语句
Throw语句用于抛出用户定义的错误。用户可以定义和抛出自定义错误。当Throw语句执行时,它之后的语句将不会执行。控制权直接传递给catch块。
语法
throw exception;
try…throw…catch语法
try{
throw exception; // user can define their own exception
}
catch(error){
expression; } // code for handling exception.
异常可以是字符串、数字、对象或布尔值。
使用try…catch的抛出示例
<html>
<head>Exception Handling</head>
<body>
<script>
try {
throw new Error('This is the throw keyword'); //user-defined throw statement.
}
catch (e) {
document.write(e.message); // This will generate an error message
}
</script>
</body>
</html>
使用throw语句,用户可以创建自己的错误。
try…catch…finally语句
finally是一个可选的语句块,在执行try和catch语句之后执行。finally块不会等待异常被抛出。无论是否抛出异常,如果存在finally块的代码,它都会被执行。它不关心输出结果。
语法
try{
expression;
}
catch(error){
expression;
}
finally{
expression; } //Executable code
try…catch…finally示例
<html>
<head>Exception Handling</head>
<body>
<script>
try{
var a=2;
if(a==2)
document.write("ok");
}
catch(Error){
document.write("Error found"+e.message);
}
finally{
document.write("Value of a is 2 ");
}
</script>
</body>
</html>
因此,我们还可以使用try/catch/throw/finally关键字一起处理复杂的代码。