JavaScript错误处理:如何使用throw、try-catch和finally?

2021年3月31日12:06:26 发表评论 917 次浏览

当执行JavaScript代码时, 肯定会发生错误。这些错误可能是由于程序员的错误或输入错误, 甚至是程序逻辑存在问题而引起的。但是, 所有错误都可以解决, 为此, 我们使用五个语句进行说明。

使用try语句可以测试代码块以检查错误。 catch语句使你可以处理错误(如果存在)。 throw语句使你可以自己犯错误。在尝试捕获之后, finally语句使你可以执行代码。无论try-catch块的结果如何, finally块都会运行。

简单错误示例:

try {
   dadalert( "Welcome Fellow Geek!" );
}
catch (err) {
   console.log(err);
}

在上面的代码中, 我们使用了" dadalert", 它不是保留关键字, 也没有定义, 因此会出现错误。

输出如下:

JavaScript错误处理:如何使用throw、try-catch和finally?1

另一个例子:

function geekFunc() {
    let a = 10;
    try {
       alert( "Value of variable a is : " + a );
    } 
    catch ( e ) {
       alert( "Error: " + e.description );
    }
}
geekFunc();

在上面的代码中, 我们的catch块将不会运行, 因为上面的代码中没有错误, 因此我们得到的输出为"变量a的值为:10"。

输出如下:

JavaScript错误处理:如何使用throw、try-catch和finally?2

尝试并拦截:

try语句使你可以检查特定的代码块是否包含错误。

catch语句允许你显示错误, 如果在try块中找到任何错误。

try {
 Try Block to check for errors.
}
catch(err) {
  Catch Block to display errors.
}

例子:

try {
   dadalert( "Welcome Fellow Geek!" );
}
catch (err) {
   console.log(err);
}

输出如下:

JavaScript错误处理:如何使用throw、try-catch和finally?3

Javascript throw块

thorw语句

当发生任何错误时, JavaScript将停止并生成错误消息。 throw语句使你可以创建自己的自定义错误。从技术上讲, 你可以引发自定义异常(引发错误)。例外

可以是JavaScript数字, 字符串, 布尔值或对象。通过将throw与try-catch一起使用, 你可以

可以轻松控制程序流程并生成自定义错误消息。

例子:

try {
     throw new Error( 'Yeah... Sorry' );
}
catch (e) {
     console.log(e);
}

输出如下:

JavaScript错误处理:如何使用throw、try-catch和finally?4

最后一块

在执行try / catch块之后, finally语句将无条件运行。它的语法是

try {
 Try Block to check for errors.
}
catch(err) {
  Catch Block to display errors.
} 
finally {
  Finally Block executes regardless of the try / catch result.
}

例子:

try {
   alert( 'try' );
} catch (e) {
   alert( 'catch' );
} finally {
   alert( 'finally' );
}

输出如下:

JavaScript错误处理:如何使用throw、try-catch和finally?5

Final块也可以覆盖catch块的消息, 因此在使用它时要小心。


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: