
try ... catch语句标记要尝试的语句块,并指定在抛出异常(错误)时的响应。
try语句由一个try块组成,其中包含一个或多个语句。{}必须始终用于单个语句。
必须至少存在一个catch子句或finally子句。这为try语句提供了三种形式:
try...catch
try...finally
try...catch...finally
使用try语句可以定义一个代码块,该代码块在执行时将进行错误测试。
catch语句允许您定义将要执行的代码块,如果在try块发生错误。
finally声明中,在try和catch后,无论结果如何,您可以执行的代码。
注意: catch和finally语句都是可选的,但是在使用try语句时,您需要使用其中之一(如果不能同时使用的话)。
使用throw语句创建自定义错误(抛出异常)。如果将throw和try 和 catch一起使用,则可以指定程序流并生成自定义错误消息(请参见下面的“更多示例”)。
您可以在我们的JavaScript异常教程中了解有关异常的更多信息。
语法:
try {
//try_statements-要尝试的语句
}
catch(err) {
//catch_statements-处理错误的语句
}
finally {
//finally_statements-无论try / catch结果如何,都要执行的语句
}try {
aaalert("Hello world");
}
catch(err) {
document.getElementById("result").innerHTML = err;
}测试看看‹/›浏览器兼容性
所有浏览器完全支持try ... catch语句:
| Statement | ![]() | ![]() | ![]() | ![]() | ![]() |
| try...catch | 是 | 是 | 是 | 是 | 是 |
参数值
| 参数 | 描述 |
|---|---|
| try_statements | 要执行的语句。 |
| err | 持有关联的catch子句的异常对象的标识符。请参考错误对象。 |
| catch_statements | (可选)在try块中引发异常时执行的语句。如果没有错误发生,则永远不会执行此代码块。 |
| finally_statements | (可选)在try语句完成之后执行的语句。无论是否引发异常或捕获异常,这些语句都会执行。 |
技术细节
| JavaScript版本: | ECMAScript 3 |
|---|
更多示例
在finally声明中,您可以执行代码,try和catch后,无论结果如何:
try {
aaalert("Hello world");
}
catch(err) {
document.getElementById("result").innerHTML = err;
}
finally {
document.getElementById("result").innerHTML += "<h3>Finally statement executed</h3>";
}测试看看‹/›catch和finally语句都是可选的,但是在使用try语句时,您需要使用其中之一(如果不能同时使用):
try {
aaalert("Hello world");
}
finally {
document.getElementById("result").innerHTML = "最终执行语句";
}测试看看‹/›使用throw语句创建一个自定义错误(引发异常):
function getRectArea(width, height) {
if (isNaN(width) || isNaN(height)) {
throw "参数不是数字!";
}
}
try {
getRectArea(5, 'Z');
}
catch(err) {
document.getElementById('para').innerHTML = err;
}测试看看‹/›检查输入,如果值错误,则引发异常(err)。catch语句捕获异常(err),并显示自定义错误消息:
var x = document.querySelector("input").value;
try {
if(x == "") throw "is Empty";
if(isNaN(x)) throw "Not a Number";
if(x > 10) throw "too High";
if(x < 5)throw "too Low";
}
catch(err) {
document.getElementById("para").innerHTML = "Input " + err;
}测试看看‹/›还可以看看
JavaScript教程:JavaScript异常
JavaScript参考:JavaScript错误对象
JavaScript参考:JavaScript throw语句




