JavaScript try…catch语句

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关键字一起处理复杂的代码。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程