如何在 Kotlin 中抛出自定义异常?
除了内置的异常类之外,您还可以创建自己的异常类型,以反映您自己的异常原因。当您的 try 表达式有多个 catch 块并且可以将自定义异常与常规异常区分开来时,您会喜欢使用自定义异常。有时,在某些情况下您想创建自己的异常。如果您要创建自己的异常,则称为自定义异常或用户定义的异常。这些用于根据特定需要自定义异常,使用它,您可以拥有自己的异常和消息。在本文中,我们将了解如何在 Kotlin 中创建和抛出自定义异常。
例子
Kotlin 提供了许多内置的异常类,如 IOException、ClassNotFoundException、ArithmeticException 等。当 JVM 遇到无法处理的情况时,它们会在运行时抛出。
- 所有的异常都有 Exception 作为它们的超类,所以我们需要扩展那个类。
- 这是我们的自定义异常的样子:
class CustomException (message: String) : Exception(message)
- 由于 Exception 超类有一个可以接收消息的构造函数,我们在CustomException的构造函数的帮助下传递了它。
现在,如果您必须抛出异常,您只需执行以下操作:
throw CustomException ("threw custom exception")
输出将是这样的:
我们来看看Exception类的实现:
Kotlin
public class Exception extends Throwable {
static final long serialVersionUID = -33875169931242299481;
public Exception () {
}
public Exception (String var1) {
super (var1);
}.....
如你看到的,
- 我们有第二个构造函数,它接受一个字符串作为参数。在我们的CustomException类中,我们通过将其消息传递给超类的构造函数来提供它。
- 此外,您可以使用空构造函数创建自定义异常,因为异常也具有空构造函数。
Note: If you are using the IntelliJ IDE, just a simple copy/paste of Java code can convert it to Kotlin.