📜  异常处理和重新提示 - Java (1)

📅  最后修改于: 2023-12-03 15:09:48.484000             🧑  作者: Mango

异常处理和重新提示 - Java

什么是异常处理?

在程序中,我们经常会遇到各种各样的错误,比如输入输出错误,空指针异常等等。这些错误统称为异常。为了避免程序出现异常后直接崩溃,我们需要采取一些措施,让程序继续运行下去。这就是异常处理。

如何捕获异常?

Java中,我们使用 try-catch 语句来捕获可能出现异常的代码块。try代码块中写我们要执行的代码,catch代码块则是在try代码块中抛出异常后要执行的代码,用来处理异常情况。

下面是捕获空指针异常的例子:

try {
    String str = null;
    System.out.println(str.length());
} catch (NullPointerException e) {
    System.out.println("捕获到了空指针异常!");
} finally {
    System.out.println("无论异常是否发生都会执行此代码块!");
}

在上面这个例子中,由于 str 是一个空指针,直接调用 str.length() 就会报错。但是我们使用了 try-catch 语句来捕获这个错误,并输出了一条提示信息。

需要注意的是,在 catch 代码块中,我们使用了一个参数 e,用来表示捕获到的异常。我们可以通过 e 来获取异常的一些信息,比如异常的类型、异常的信息等等。

如何重新提示?

当我们捕获到异常后,我们可以使用 throw 关键字来重新提示这个异常,让上级方法或者调用此方法的代码块来处理这个异常。

下面是一个简单的例子:

public void divide(int a, int b) throws ArithmeticException {
    if (b == 0) {
        throw new ArithmeticException("被除数不能为0!");
    } else {
        System.out.println(a / b);
    }
}

在上面这个例子中,我们定义了一个方法 divide(int a, int b),用来计算 a 除以 b 的值。但是当 b 为0时,我们不希望程序报错,而是重新提示一个异常,让上级方法来处理这个异常。

在方法中,我们首先判断 b 是否为0,如果为0就抛出一个 ArithmeticException 异常。如果不为0,就执行处理代码。

总结

异常处理是Java中一个非常重要的概念,它可以让我们的程序更加健壮,减少因为错误而导致的崩溃。当出现异常时,我们可以使用 try-catch 语句来捕获异常和处理异常,或者使用 throw 来重新提示异常,让上级方法来处理异常。