在 Java 中,异常处理主要通过 try、catch、finally、throw、throws 来实现。下面从基础到常见写法给你一个清晰说明。
try {
// 可能抛出异常的代码
} catch (ExceptionType e) {
// 异常处理
} finally {
// 无论是否异常都会执行(可选)
}
try {
int a = 10 / 0;
} catch (ArithmeticException e) {
System.out.println("除数不能为0");
} finally {
System.out.println("执行结束");
}
try {
// code
} catch (NullPointerException e) {
// 处理空指针
} catch (IllegalArgumentException e) {
// 处理参数错误
}
try {
// code
} catch (NullPointerException | IllegalArgumentException e) {
e.printStackTrace();
}
if (age < 0) {
throw new IllegalArgumentException("年龄不能为负数");
}
public void readFile() throws IOException {
// 可能抛出 IOException
}
class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
使用:
throw new MyException("自定义异常信息");
用于自动关闭资源(Java 7+)
try (FileInputStream fis = new FileInputStream("test.txt")) {
// 使用资源
} catch (IOException e) {
e.printStackTrace();
}
✅ 捕获具体异常,不要直接用 Exception 吞掉所有错误
✅ finally 中不要写 return
✅ 不要空 catch {}
✅ 业务逻辑异常可用自定义异常
如果你愿意,我可以:
你想看哪一种?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。