侧边栏壁纸
  • 累计撰写 225 篇文章
  • 累计创建 275 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

javascript中try catch的用法

DGF
DGF
2019-01-02 / 0 评论 / 0 点赞 / 19 阅读 / 0 字

post116-1.png

try...catch 语句有什么作用?

try...catch 可以测试代码中的错误。try 部分包含需要运行的代码,而 catch 部分包含错误发生时运行的代码。

try...catch语法

try {
    //在此运行代码
}
catch(err){
    //在此处理错误
}

运行流程:

try{...} 包含块中的代码有错误,则运行 catch(err){...} 内的代码, 否则不运行 catch(err){...} 内的代码。

try...catch案例

var array = null;
try {
  document.write(array[0]);
} catch(err) {
  document.writeln("Error name: " + err.name + "");
  document.writeln("Error message: " + err.message);
}

try...catch...finally 语句

提供了一种方法来处理可能发生在给定代码块中的某些或全部错误,同时仍保持代码的运行。如果发生了程序员没有处理的错误,JS只给用户提供它的普通错误信息,就好象没有错误处理一样。

try...catch...finally 语法

try  {  
   tryStatements
}  
catch(exception){  
   catchStatements
}  
finally  {  
   finallyStatements
}

参数

  • tryStatement:必选项。可能发生错误的语句。
  • exception:必选项。任何变量名。exception 的初始化值是扔出的错误的值。
  • catchStatement:可选项。处理在相关联的 tryStatement 中发生的错误的语句。
  • finallyStatements:可选项。在所有其他过程发生之后无条件执行的语句。

try...catch...finally 案例

var array = null;
try {
  document.write(array[0]);
} catch(err) {
  document.writeln("Error name: " + err.name + "");
  document.writeln("Error message: " + err.message);
}
finally{
  alert("object is null");
}

程序执行过程

  1. array[0] 的时候由于没有创建 array 数组,array 是个空对象,程序中调用 array[0] 就会产生 object is null 的异常。
  2. catch(err) 语句捕获到这个异常,通过 err.name 打印了错误类型,err.message 打印了错误的详细信息。
  3. finally 类似于 Java 的 finally,无论有无异常都会执行。

现总结 Error.name 的六种值对应的信息:

  • EvalError:eval()的使用与定义不一致
  • RangeError:数值越界
  • ReferenceError:非法或不能识别的引用数值
  • SyntaxError:发生语法解析错误
  • TypeError:操作数类型错误
  • URIError:URI处理函数使用不当
0

评论区