在Dart中,您可以通过实现或扩展Exception或Error类来创建自定义异常类。通常,对于开发者期望通过程序控制逻辑来处理的异常情况,应当使用Exception;而对于程序内部错误,应使用Error。
以下是创建一个自定义异常类的步骤:
- 定义一个类:该类可以实现
Exception接口或者直接继承自它。 - 添加构造函数:通常会添加一个接收错误消息的构造函数。
- 覆写
toString方法:这样做可以提供更清晰的错误信息。
下面是一个例子,展示如何定义一个名为CustomException的异常类:
dartclass CustomException implements Exception { final String message; CustomException(this.message); String toString() => "CustomException: $message"; }
在上面的代码中,CustomException类实现了Exception接口,并包含一个用于传递错误消息的构造函数。toString方法被覆写以提供更具体的错误描述。
您可以这样使用这个自定义异常:
dartvoid someFunction() { throw CustomException('这是一个自定义错误'); } void main() { try { someFunction(); } catch (e) { print(e); } }
当someFunction函数被调用时,它会抛出CustomException,然后在main函数中被捕获并打印异常信息。