Java 基础教程

Java 抛出异常

在 Java 中,除了可以使用 try…catch 语句块处理之外,当程序出现错误时,系统会自动抛出异常。除此之外,Java 也允许程序手动抛出异常,手动抛出异常使用 throw 语句来完成。

注意:此处的 throw 关键字没有后面的s,与声明抛出异常 throws 是有区别的。

使用 throws 声明抛出异常

在 Java 中,可以使用 throws 关键字在方法声明中指定方法可能抛出的异常。

通过在方法声明中使用 throws 关键字,可以告诉调用者该方法可能抛出的异常类型,从而让调用者在调用该方法时进行相应的异常处理。如果调用者不对可能抛出的异常(检查异常)进行处理,那么编译器将会报错。

声明异常的语法如下:

void methodName() throws ExceptionType1, ExceptionType2, ... {
   // 方法体
}

其中,ExceptionType1, ExceptionType2, ... 是方法可能抛出的异常类型,可以是 Java 内置的异常类,也可以是自定义的异常类。

以下是几个示例:

(1)声明抛出单个异常:

void readFile() throws IOException {
   // 读取文件的代码
}

上述代码中,readFile() 方法声明可能抛出 IOException 异常。

(2)声明抛出多个异常:

void divideNumbers() throws ArithmeticException, IllegalArgumentException {
   // 除法运算的代码
}

上述代码中,divideNumbers() 方法声明可能抛出 ArithmeticException 和 IllegalArgumentException 异常。

使用 throw 抛出异常

在 Java 中,可以使用 throw 关键字来抛出异常。抛出异常的语法如下:

throw new ExceptionType("Exception message");

详细说明:

(1)ExceptionType 是异常的类型,可以是 Java 内置的异常类,也可以是自定义的异常类。

(2)Exception message 是异常的详细描述信息。

以下是几个示例:

(1)抛出 Java 内置的异常类:

throw new NullPointerException("Variable is null");

上述代码将抛出一个空指针异常,异常信息为 “Variable is null”。

(2) 抛出自定义的异常类:

throw new CustomException("Custom exception occurred");

上述代码将抛出一个自定义异常类 CustomException 的实例,异常信息为 “Custom exception occurred”。

(3)捕获并处理异常:

try {
   // 可能会抛出异常的代码
   throw new IOException("IO exception occurred");
} catch (IOException e) {
   // 异常处理逻辑
   System.out.println("Exception caught: " + e.getMessage());
}

上述代码在 try 块中抛出一个 IO 异常,然后在 catch 块中捕获并处理该异常。

注意:在使用 throw 抛出异常时,需要确保异常被适当地捕获和处理,以避免程序崩溃或产生其他不受控制的错误。

说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号