dart - Dart 编程语言中的自定义异常
问题描述
我创建了一个名为的自定义异常DepositeException
,并尝试(errorMessage)
在main
方法中访问其自定义异常消息,但它抛出了错误。以下代码可能是什么问题。
void main() {
try {
depositAmount(-100);
} catch (e) {
print(e.errorMessage());
}
}
class DepositException implements Exception {
String errorMessage() {
return "you cannot enter amount less then 0";
}
}
void depositAmount(int amount) {
if (amount < 0) {
throw new DepositException();
}
}
解决方案
发生这种情况是因为 ~~Dart 中的异常捕获未选中~~ 异常类型未指定,因此它将返回 Object(感谢 @jamesdlin 的更正)。
要捕获自定义异常,您需要指定如下类型:
try{
depositAmount(-100);
} on DepositException catch (e){
print(e.errorMessage());
}
参考:
推荐阅读
- unity3d - Unity2D随机战斗遭遇换场景?
- jquery - Visual Studio 中的 Jquery 没有智能感知
- python - 有没有办法创建一个包含 3 个或更多字段的 Python 内部表?
- reactjs - axios 会不断更新
- css - 如何查找具有多个包含条件的 xpath
- spring-boot - Spring Kafka 消费已被消费者消费的旧消息
- python - python内置服务器不加载css文件
- react-virtualized - React-virtualized 中对 registerChild 的 CellMeasurer 支持
- android - 如何在长按中从网页视图中获取 URL?
- .net - 覆盖默认的 nuget.config 文件