在程序设计和运行时,一些错误是无法避免的,为此Java为我们提供了异常处理机制
异常类型
1已检查异常:必须在代码中明确处理或者抛出这类异常,否则代码无法通过编译。
2未检查异常(运行时异常):这些异常通常是编程错误导致的,不需要显式处理。
3错误:表示虚拟机自身的错误,程序无法处理。
异常处理方式
1.throws 关键字:手动抛异常
void someMethod() throws SomeException {
// 方法声明可能会引发 SomeException 异常
}
2try-cach 方式
程序从 try 里面的代码开始执行,出现异常,就会跳转到对应的 catch 里面去执行,执行完毕之后,程序还可以继续往下执行。finally无论是否发生异常都会执行
try {
// 可能引发异常的代码
} catch (ExceptionType1 e1) {
// 处理 ExceptionType1 类型的异常
} catch (ExceptionType2 e2) {
// 处理 ExceptionType2 类型的异常
} finally {
// 可选的 finally 块,无论是否发生异常都会执行
}
3.自定义异常
Java中提供的异常不能满足我们的需求时,我们可以自定义异常1
- 定义异常类,写继承关系,提供空参构造,提供带参构造
class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
public class CustomExceptionExample {
public static void main(String[] args) {
try {
throw new MyException("Custom exception message");
} catch (MyException e) {
System.out.println("Caught custom exception: " + e.getMessage());
}
}
}