Java异常处理:典型链式异常捕获案例

原创 ゝ一世哀愁。 2024-11-28 21:57 96阅读 0赞

在Java中,异常处理是通过try-catch-finally语句来实现的。链式异常捕获是指在一个catch块不能处理的异常时,将这个异常传递给下一个catch块。

下面是一个典型的链式异常捕获案例:

  1. public class ChainExceptionHandling {
  2. public void handleException() {
  3. try {
  4. // 产生一个异常
  5. int divisionByZero = 1 / 0;
  6. System.out.println("Divide by zero performed successfully.");
  7. } catch (ArithmeticException e) {
  8. // 这里捕获的是除以零的异常
  9. System.out.println(" caught an Exception : " + e.getMessage());
  10. // 尝试将异常传递给下一个catch块
  11. handleCustomException(e);
  12. } catch (Exception e) {
  13. // 这个catch块会捕获所有未被前面catch块处理的异常
  14. System.out.println(" caught an Exception : " + e.getMessage());
  15. throw new RuntimeException("Cannot handle exception", e);
  16. }
  17. }
  18. // 自定义异常处理方法,用于将特定类型的异常传递给下一个catch块
  19. private void handleCustomException(Exception e) {
  20. if (e instanceof NullPointerException) {
  21. System.out.println(" handling a custom Exception : " + e.getMessage());
  22. throw new RuntimeException("Cannot handle null pointer exception", e);
  23. } else {
  24. // 如果不是我们自定义的异常类型,就直接打印异常信息并抛出运行时异常
  25. System.out.println(" handling a custom Exception : " + e.getMessage());
  26. throw new RuntimeException("Cannot handle custom exception", e);
  27. }
  28. }
  29. public static void main(String[] args) {
  30. ChainExceptionHandling handler = new ChainExceptionHandling();
  31. handler.handleException();
  32. }
  33. }

在这个例子中,我们首先生成一个除以零的异常(ArithmeticException),然后使用链式异常捕获,将这个异常传递给下一个catch块。最后在main方法中调用处理函数并打印结果。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,96人围观)

还没有评论,来说两句吧...

相关阅读