Dart 异常处理
如果关心具体异常 针对不同异常进行不同处理
使用try...on处理异常
finally 可选的 用于最后的处理
try { // 使除数为0
print(11~/0);
} on IntegerDivisionByZeroException {
print("除数为0");
}on Exception{
print("Exception");
}finally {
print("finally");
}
不关心具体异常
只想捕获
避免异常继续传递
则可以使用try...catch处理
try {
print(11~/0);
} catch(e){ // 打印报错信息
print(e);
}finally {
print("finally");
}
如果想获取更多异常信息
可以使用两个参数的catch
第二个参数是异常的调用栈信息
try {
print(11~/0);
} catch(e,s){
print(s);
}
如果
既想针对不同异常进行不同处理
还想打印调用栈信息
那就将两种结合起来使用
try {
print(11~/0);
} on IntegerDivisionByZeroException catch(e,s){
print(s);
} on Exception catch(e,s){
print(s);
}
尊贵的董事大人
英文标题不为空时 视为本栏投稿
需要关键字 描述 英文标题