【发布时间】:2019-03-07 15:21:35
【问题描述】:
我已经学习飞镖几个星期了,为了练习目的,我决定编写一个数字矢量类。此类需要UnequalVectorLengthException。
我对 dart 中的异常进行了研究,阅读了文档,但我惊讶地发现没有像 getMessage() 这样的默认方法,就像在 java 中一样。我知道你可以在抛出异常时添加消息,但我觉得应该有一个默认消息“绑定”到异常实例,你可以在捕获它时检索它。
这使我认为实现可以/应该是:
class UnequalVectorLengthException implements Exception {}
这在我的 java 眼中看起来很奇怪且不正确。那么投掷可能是:
if(stuff) throw UnequalVectorLengthException("Vectors are unequal length");
我还看到人们添加了额外的方法,例如 String errorMessage() {},但由于该异常的用户可能不希望存在此方法,因此我认为这不是执行此操作的首选方法。
我的问题:上面显示的代码是在 dart 中实现异常的正确方法(在这种情况下,一个简单的注释就可以了),还是有更好的方法来实现异常?
【问题讨论】: