Java中异常处理机制:捕获、声明和抛出异常
Java中的异常处理机制是程序健壮性的关键部分,它允许程序在遇到错误时不会立即崩溃,而是能够优雅地处理错误。Java异常处理主要涉及三个关键概念:捕获(catch)、声明(throws)和抛出(throw)异常。
1.抛出异常(throw)
在Java中,可以通过throw
关键字显式抛出一个异常。这通常用于在代码中检测到错误条件时,主动抛出一个异常对象。
javapublic void checkAge(int age) {
if (age <18) {
throw new IllegalArgumentException("Age must be at least18.");
}
}
###2.捕获异常(catch)
try
块用来包裹可能抛出异常的代码,catch
块用来捕获并处理这些异常。如果try
块中的代码抛出了异常,那么程序会立即跳转到相应的catch
块。
javatry {
int number =10 /0;
} catch (ArithmeticException e) {
System.out.println("Cannot divide by zero: " + e.getMessage());
}
###3.声明抛出异常(throws)
当一个方法可能会抛出异常,但不想在当前方法中处理时,可以使用throws
关键字声明该方法可能会抛出的异常类型。这样,调用该方法的代码必须处理这些异常。
```javapublic void divide(int a, int b) throws ArithmeticException {
if (b ==0) {
throw new ArithmeticException(“Cannot divide by zero.”);
}
System.out.println(a / b);
}
public static void main(String[] args) {
try {
new MyClass().divide(10,0);
} catch (ArithmeticException e) {
System.out.println(“Exception caught: “ + e.getMessage());
}
}``###4. finally块
finally块是可选的,它在
try和
catch`块之后执行,无论是否发生异常。这通常用于执行清理工作,如关闭文件流或数据库连接。
javatry {
//可能抛出异常的代码} catch (Exception e) {
//异常处理代码} finally {
//总是执行的代码,如资源释放}
###5. 自定义异常除了Java标准库中提供的异常类,你也可以创建自己的异常类。自定义异常类通常继承自Exception
类或其子类。
javapublic class MyCustomException extends Exception {
public MyCustomException(String message) {
super(message);
}
}
使用这些机制,你可以构建出更加健壮和易于维护的Java应用程序。
还没有评论,来说两句吧...