在 JavaScript 中使用不带 Catch 的 try 语句
今天的文章将介绍在 JavaScript 中不实现 catch 的 try 语句。
在 JavaScript 中实现没有 Catch 的 Try
JavaScript try 块用于封装可能引发异常的代码。它必须在方法中使用。
如果特定语句中发生异常,则应在 catch 语句中捕获。
语法:
try {
try_statements
/* Code to executed */
} catch (exception_var) {
catch_statements
/* Handle exception */
} finally {
finally_statements
/* Final Code/Clean variables */
}
try_statements是要执行的语句。catch_statements是在try块中抛出异常时要执行的语句。exception_var是一个可选标识符,包含相关catch块的异常对象。finally_statements是测试语句完成后执行的语句。无论是否抛出或捕获异常,都会执行这些语句。
try 语句由包含一个或多个语句的 try 块组成。 {} 应始终使用,即使对于单个语句也是如此。
必须存在 catch 块或 finally 块。这为我们提供了 try 语句的三种组合。
try...catchtry...finallytry...catch...finally
catch 块包括指定在 try 块中抛出异常时要同时做什么的语句。如果 try 块中的语句(或从 try 块调用的函数中)抛出异常,控制立即切换到 catch 块。
如果在 try 块中没有抛出异常,catch 块将被忽略/跳过。
finally 块总是在 try 和 catch 块完成执行后执行。无论异常是被抛出还是被卡住,finally 块通常与它内部的语句一起执行。
可以嵌套一个或多个测试语句。如果内部 try 语句没有处理错误的 catch 块,则使用封闭 try 语句的 catch 块代替。
try 语句也可用于处理 JavaScript 异常。如果抛出异常,则 finally 块中的语句最终将执行,即使没有 catch 块处理异常。
你可以在 try...catch 的文档中获得有关 try...catch 的更多信息。
让我们通过下面的例子来理解它。
try {
console.log('Executing try block')
throw new Error(0 / 0)
} finally {
console.log('Final Call')
}
在上面的例子中,我们定义了一个没有 catch 的 try。我们通过将 0 除以 0 来抛出错误。
它将抛出一个 NaN 错误,由于缺少 catch 块,finally 块不会捕获该错误,并在 finally 块中打印 "Final Call" 语句。你还可以使用这些块来执行所需的操作并清理 finally 块中未使用的变量/资源。
尝试在任何支持 JavaScript 的浏览器中运行上述代码片段;它将在下面显示结果。
Executing try block
Final Call
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn