java异常抛出时间顺序

深藏阁楼爱情的钟 2022-04-01 11:54 369阅读 0赞

1、当前方法抛出异常时(交给java虚拟机执行异常处理)

  1. public class ExceptionTest5 {
  2. public void method(String str) throws MyException{
  3. if(str == null){
  4. throw new MyException("传入的字符串参数不能为null");
  5. }
  6. else{
  7. System.out.println(str);
  8. }
  9. }
  10. /*
  11. * 根据多态,也可以抛出 Exception类型的异常:
  12. * 1) throws Exception
  13. * 2) 捕获也可以这样写 catch(Exception e)
  14. */
  15. public static void main(String[] args) throws MyException{
  16. try{
  17. ExceptionTest5 test = new ExceptionTest5();
  18. test.method(null);
  19. }catch(MyException e){
  20. e.printStackTrace();
  21. }
  22. finally{
  23. System.out.println("异常处理完毕");
  24. }
  25. System.out.println("程序执行完毕");
  26. }
  27. }

执行结果为:

异常处理完毕

程序执行完毕

com.ahuier.exception.MyException: 传入的字符串参数不能为null at com.ahuier.exception.ExceptionTest5.method(ExceptionTest5.java:6) at com.ahuier.exception.ExceptionTest5.main(ExceptionTest5.java:22)

2、当前方法不抛出异常

  1. public class ExceptionTest5 {
  2. public void method(String str) throws MyException{
  3. if(str == null){
  4. throw new MyException("传入的字符串参数不能为null");
  5. }
  6. else{
  7. System.out.println(str);
  8. }
  9. }
  10. /*
  11. * 根据多态,也可以抛出 Exception类型的异常:
  12. * 1) throws Exception
  13. * 2) 捕获也可以这样写 catch(Exception e)
  14. */
  15. public static void main(String[] args) {
  16. try{
  17. ExceptionTest5 test = new ExceptionTest5();
  18. test.method(null);
  19. }catch(MyException e){
  20. e.printStackTrace();
  21. }
  22. finally{
  23. System.out.println("异常处理完毕");
  24. }
  25. System.out.println("程序执行完毕");
  26. }
  27. }

执行结果:
com.ahuier.exception.MyException: 传入的字符串参数不能为null
at com.ahuier.exception.ExceptionTest5.method(ExceptionTest5.java:6)
at com.ahuier.exception.ExceptionTest5.main(ExceptionTest5.java:22)
异常处理完毕
程序执行完毕

发表评论

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

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

相关阅读

    相关 异常处理、

    异常分类 异常是在JDK中定义的一组专门表示各种不正确情况的类。一旦发生了对应的不正确情况,那么JVM就会产生该类的对象(异常对象)。如果,我们的程序没有处理该异常对象,

    相关 手动异常

    正常来说,如果没有对异常进行处理,程序运行时出现了异常,就会自动抛异常。 处理异常的两种方式: 1. try\{……\}catch\{……\} 2. throws Ex