The current repo belongs to Paused status, and some functions are restricted. For details, please refer to the description of repo status
18 Star 81 Fork 26

ryanpenn / dart_in_action
Paused

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
06_exception_handling.dart 1.23 KB
Copy Edit Raw Blame History
ryanpenn authored 2019-03-27 10:55 . dart programming
///
/// exception handling
///
main(List<String> args) {
// try ..on, 一般用于处理已知错误
try {
int result = 12 ~/ 0;
print("The result is $result");
} on IntegerDivisionByZeroException {
print('Cannot divide by Zero');
}
// try ..catch, 一般用于捕获未知错误
try {
int result = 12 ~/ 0;
print("The result is $result");
} catch (e) {
print("The exception thrown is $e");
}
// STACK TRAC
try {
int result = 12 ~/ 0;
print("The result is $result");
} catch (e, s) {
print("The exception thrown is $e");
print("STACK TRACE \n $s");
}
// finally
try {
int result = 12 ~/ 0;
print("The result is $result");
} catch (e) {
print("The exception thrown is $e");
} finally {
print("This is FINALLY Clause and is always executed.");
}
// try ..finally
try {
int result = 12 ~/ 1;
print("The result is $result");
} finally {
print("This is FINALLY Clause and is always executed.");
}
// Custom Exception
try {
throwFunc();
} catch (e) {
print(e);
}
}
class CustomException implements Exception {
@override
String toString() {
return "This is Custom Exception.";
}
}
throwFunc() {
throw CustomException();
}
Dart
1
https://gitee.com/ryanpenn/dart_in_action.git
git@gitee.com:ryanpenn/dart_in_action.git
ryanpenn
dart_in_action
dart_in_action
master

Search