Dart异常主要分为Error
和Exception
两种类型。
Exception主要是程序本身可以处理的异常,比如:IOException。我们处理的异常也是以这种异常为主。
Error是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 DartVM出现的问题。比如:内存溢出(OutOfMemoryError)等等。
捕捉异常
try {
throw Error();
} catch (e) {
print(e.toString());
}
最后处理
不管异常不异常都会执行
try {
throw Error();
} catch (e) {
print(e.toString());
}finally{
print('finally');
}
继续向上抛出异常
try {
throw Error();
} catch (e) {
print(e.toString());
//继续抛出
rethrow;
}
捕捉特定种类的异常
try {
throw UnimplementedError();
} on UnimplementedError catch (e) {
print(e.toString());
}