admin管理员组

文章数量:1794759

Java对异常处理或抛出之后,后面代码会不会再执行?

Java对异常处理或抛出之后,后面代码会不会再执行?

一、测试代码: public class TestException { public static void main(String[] args) throws Exception { int[] i = {1, 2, 3}; try { System.out.println(i[3]); } catch (Exception e) { e.printStackTrace(); } System.out.println("异常后1");//可以执行 try { System.out.println(i[3]); } catch (Exception e) { throw new Exception("错误" + e); } System.out.println("异常后2");//不能执行 } } 结果: Java.lang.ArrayIndexOutOfBoundsException: 3 at TestException.main(TestException.java:15) Exception in thread "main" java.lang.Exception: 错误java.lang.ArrayIndexOutOfBoundsException: 3 at TestException.main(TestException.java:24) 异常后1 二、 集合测试: public class Test { public static void main(String[] args) throws Exception { List<Student> list = new ArrayList<>(); Student student1 = new Student("张三", 18); Student student2 = new Student("李四", 18); Student student3 = new Student("王五", 18); list.add(student1); list.add(student2); list.add(student3); for (Student student : list) { if (student.getName().equals("李四")) { throw new Exception("李四"); } System.out.println(student);//王五没有输出 } } } 结果: Student{name='张三', age=18} Exception in thread "main" java.lang.Exception: 李四 at Test.main(Test.java:15) 三、 结论:

  • 如果对异常进行处理,后面代码还会继续执行
  • 如果把异常直接抛出,后面代码将不会在继续执行
  • 本文标签: 会再抛出异常代码java