当执行JavaScript代码时, 肯定会发生错误。这些错误可能是由于程序员的错误或输入错误, 甚至是程序逻辑存在问题而引起的。但是, 所有错误都可以解决, 为此, 我们使用五个语句进行说明。
使用try语句可以测试代码块以检查错误。 catch语句使你可以处理错误(如果存在)。 throw语句使你可以自己犯错误。在尝试捕获之后, finally语句使你可以执行代码。无论try-catch块的结果如何, finally块都会运行。
简单错误示例:
try {
dadalert( "Welcome Fellow Geek!" );
}
catch (err) {
console.log(err);
}
在上面的代码中, 我们使用了" dadalert", 它不是保留关键字, 也没有定义, 因此会出现错误。
输出如下:

另一个例子:
function geekFunc() {
let a = 10;
try {
alert( "Value of variable a is : " + a );
}
catch ( e ) {
alert( "Error: " + e.description );
}
}
geekFunc();
在上面的代码中, 我们的catch块将不会运行, 因为上面的代码中没有错误, 因此我们得到的输出为"变量a的值为:10"。
输出如下:

尝试并拦截:
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块
thorw语句
当发生任何错误时, JavaScript将停止并生成错误消息。 throw语句使你可以创建自己的自定义错误。从技术上讲, 你可以引发自定义异常(引发错误)。例外
可以是JavaScript数字, 字符串, 布尔值或对象。通过将throw与try-catch一起使用, 你可以
可以轻松控制程序流程并生成自定义错误消息。
例子:
try {
throw new Error( 'Yeah... Sorry' );
}
catch (e) {
console.log(e);
}
输出如下:

最后一块
在执行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' );
}
输出如下:

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