Dart 语言之“异常”

在Java中异常需要你进行try{}catch(){} 或者throws,在dart 中不强制捕获异常;但建议使用try{}catch(){};

不强制捕获异常

捕获异常是可接收两个参数且最多只能为2个参数;

void test () {

throw new Exception("你不能调用我的方法");

}

/** main 方法*/

void main(){

try{

     test();

       }catch(e,s){

           print(e);//输出异常信息

            print(s);//输出调用栈信息

      }

}

打印结果:

输出结果

根据不同的异常类型,执行不同的操作,使用 on 关键字,后面跟具体的类型,最后跟catch 语句,支持finall语句;

void test () {

// throw new Exception("你不能调用我的方法"); //抛出异常类型

// throw 10000; //抛出int 类型

throw "zcx";//抛出String 类型

}

注意异常抛出只能抛出一次,故上面代码注释;

void main(){

      try{

         test();

            }on Exceptioncatch(e){ //监听exception类型

               print("监听到异常类型"); //执行对应操作

           }on intcatch(e){  //监听int类型

               print("监听到 int 类型"); //执行对应操作

           }on Stringcatch (e){ //监听String类型

               print("监听到 String  类型");    //执行对应操作

          }finally{

            print("最终都会执行到这里"); 

        }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java异常类型 所有异常类型都是Throwable的子类,Throwable把异常分成两个不同分支的子类Erro...
    予别她阅读 4,485评论 0 2
  • 18:异常(Exception) 18-01:异常与错误 18-02:异常的体系结构 18-03:异常处理 18-...
    AT阿宝哥阅读 1,527评论 0 4
  • 八、深入理解java异常处理机制 引子try…catch…finally恐怕是大家再熟悉不过的语句了, 你的答案是...
    壹点零阅读 5,534评论 0 0
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 5,002评论 0 2
  • 今天星期六,天气阴,今天继续在家陪小儿子,他今天放假,已经在家颓废了一周了,出了给孩子做饭什么也也没做
    麦苗鲜阅读 832评论 0 1