在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("最终都会执行到这里");
}
}