package com.test; import java.io.IOException; public class ExceptionTest { public static void main(String[] args){ System.out.print("E");//这里因为是顺序执行,所以肯定会输出 try { System.out.print("F");//这里因为是顺序执行,所以肯定会输出 badMethod(); System.out.print("A");//这里因为上一步抛出异常了,所以不可以执行 }catch (RuntimeException e){//NullPointerException System.out.print("B");//这里因为try中捕获异常了,所以输出了 }finally { System.out.print("C"); } System.out.print("D");//这里因为是顺序执行,所以肯定会输出 } public static void badMethod(){ throw new ClassCastException(); /*try { //如果这里是运行时异常,而上面捕获的只是其中一个小的异常,那么就会抛出异常,反之可以 //如果这里是运行时异常,上面是非运行时异常,编译也不会通过 throw new IOException();//如果这里是非运行时异常,而主函数是运行时异常,也不会抛异常,因为非运行异常这里已经捕获了,而上面的运行时异常没发生所以没捕获。 } catch (IOException e) { //e.printStackTrace(); System.out.print("G"); }*/ //System.out.print("G"); } }
Exception(基础问题记录一下)
最新推荐文章于 2024-08-05 07:45:00 发布
本文详细介绍了Java中的异常处理机制,包括如何使用try-catch-finally结构来捕获和处理异常,以及不同类型的异常如何被正确地抛出和捕获。通过具体的代码示例,展示了在main方法中执行顺序及异常捕获的过程。
摘要由CSDN通过智能技术生成