温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java异常处理怎么写

发布时间:2026-09-15 23:49:52 来源:亿速云 阅读:90 作者:小樊 栏目:编程语言

在 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("执行结束");
}

二、捕获多种异常

1. 多个 catch

try {
    // code
} catch (NullPointerException e) {
    // 处理空指针
} catch (IllegalArgumentException e) {
    // 处理参数错误
}

2. Java 7+ 多异常合并

try {
    // code
} catch (NullPointerException | IllegalArgumentException e) {
    e.printStackTrace();
}

三、throw 和 throws

1. throw:手动抛出异常

if (age < 0) {
    throw new IllegalArgumentException("年龄不能为负数");
}

2. throws:声明方法可能抛出的异常

public void readFile() throws IOException {
    // 可能抛出 IOException
}

四、自定义异常

class MyException extends Exception {
    public MyException(String message) {
        super(message);
    }
}

使用:

throw new MyException("自定义异常信息");

五、try-with-resources(推荐)

用于自动关闭资源(Java 7+)

try (FileInputStream fis = new FileInputStream("test.txt")) {
    // 使用资源
} catch (IOException e) {
    e.printStackTrace();
}

六、常见注意点

✅ 捕获具体异常,不要直接用 Exception 吞掉所有错误
✅ finally 中不要写 return
✅ 不要空 catch {}
✅ 业务逻辑异常可用自定义异常


如果你愿意,我可以:

  • 给你一个完整示例项目
  • 讲 checked / unchecked 异常区别
  • 结合 Spring 全局异常处理(@ControllerAdvice)

你想看哪一种?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手