📜  如何在 Kotlin 中抛出自定义异常?

📅  最后修改于: 2022-05-13 01:55:46.857000             🧑  作者: Mango

如何在 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类中,我们通过将其消息传递给超类的构造函数来提供它。
  • 此外,您可以使用空构造函数创建自定义异常,因为异常也具有空构造函数。