美文网首页
try catch捕获异常

try catch捕获异常

作者: Melantha_CHEN | 来源:发表于2019-03-25 14:37 被阅读0次

try/catch主要用于捕获异常,try/catch语句包含了yigebtry块,和至少有一个catch块或者饿一个finally块,有如下三种tyr声明:

  • try...catch
  • try...finally
  • try...catch...finally
    try中放入可能会产生异常的语句或函数
    catch块中包含要执行的语句,当try中抛出异常时,catch块会捕获这个异常信息,并执行catch块中的代码,如果在try中没有异常抛出,catch块将会跳过。

finallytry块和catch块之后执行,无论是否有异常抛出或者是否被捕获它总是执行。当在finally中抛出异常信息时会覆盖try中的异常信息。

try {
    tryCode - 尝试执行代码块
}
catch(err) {
    catchCode - 捕获错误的代码块
} 
finally {
    finallyCode - 无论 try / catch 结果如何都会执行的代码块
}

try…catch是同步代码,只能捕获“同步代码”中的"运行时异常","同步代码"是无法获取如setTimeout、Promise等异步代码的异常

 try {
    console.log(1);
    setTimeout(function(){
       console.log(2);
       throw new Error("This is a test error 2");
    }, 0);
    console.log(3);
  } catch(err) {
  }
 console.log(4);
// 执行结果为:1、3、4、2

假如 try {} catch(err) {} 这部分代码为函数f1,setTimeOut里面定义的异步函数,要在f1执行完之后才会执行,所以f1里面的catch是抓不到错误。
try ... catch 作为同步代码的异常捕获语句,是在阶段 1 执行的。异步的错误,发生阶段 2,由此可知:已经执行完毕的 try ... catch 不可能捕获到在它执行完毕后所发生的错误。

相关文章

  • Java基础-异常处理

    捕获异常 try-catch try捕获异常后,catch中要有针对问题的处理,否则就是隐藏异常 catch可以是...

  • 异常处理

    try-catch-finally 语法格式: try块:用于捕获异常catch块:用于处理try捕获到的异常fi...

  • java基础--异常

    1.处理异常 try-catch以及try-catch-finally捕获异常 try{ //一些会抛出异常的...

  • try catch 无法捕获异步异常

    try catch 并不能捕获所有的异常,所以,并不是写个try catch就可以捕获一切异常了 try catc...

  • try throw catch

    try抛出异常,catch捕获异常格式: 执行:首先去运行try中的代码如果正常则不运行catch,如果try中代...

  • try、try?、try!的使用方法

    try 的用法必须有捕获异常后的 catch 处理语句 try?的用法不需要捕获异常后的 catch 处理语句 t...

  • Flutter异常捕获方式

    同步异常捕获 同步捕获:使用try catch 异步异常捕获 方法1: 使用Flutter提供的catchErro...

  • js异常捕获

    一、js异常捕获的两种方式: 1、try...catch2、window.onerror try...catch ...

  • 模拟异常的一种思路

    模拟的一种异常机制 用 __TRY() 设置捕获点; 用 __CATCH() 捕获异常; 用 __THROW() ...

  • js 异常处理

    一、Javascript的异常捕获机制 1.1 基本的try…catch语句 ES3开始引入了 try-catch...

网友评论

      本文标题:try catch捕获异常

      本文链接:https://www.haomeiwen.com/subject/irrvvqtx.html