Java异常详解 try catch使用详解
try catch 何为异常?
异常是一个汉语词语,读音:yì cháng,指非正常的;不同于平常的;非常。出自《后汉书·皇后纪上·光烈阴皇后》
什么是java异常
编译时异常和运行时异常。
编译异常是在编译阶段出现的错误,这个很好理解并且很好解决。
运行时异常是指在程序的运行过程中,出现的异常。例如 我们有一个读取D盘文件的程序,在我们编译的时候并没有错误,
可实际运行中我们却发现电脑并没有D盘,此时就会出现没有该文件的异常。所以我们要对类似的异常进行处理。
异常产生的原因
下面是一个简单的java例子,这是一个实现截图功能的一段代码。那么为什么需要异常处理呢。在处理异常的时候 我们首先需要知道这段代码有可能出现什么样的异常。
try {
Robot robot = new Robot();
String format = "jpg";
String fileName = "FullScreenshot3333." + format;
Rectangle screenRect = new
Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
BufferedImage screenFullImage = robot.createScreenCapture(screenRect);
ImageIO.write(screenFullImage, format, new File(fileName));
System.out.println("A full screenshot saved!");
} catch (AWTException | IOException ex) {
System.err.println(ex);
}
我们接着对上面的代码进行分析,首先异常分为 编译时异常和运行时异常 这个在开头的时候已经说过一次。
可以看到IOException继承Exception这个类。
如何处理异常
说来简单:写正确的代码。编译时异常处理尤为简单,语法错误编译器就把错误给提示出来了。运行时异常才是不太容易发现的问题。发现每一个可能出现的错误,并且即使的封堵。例如 我们有一句读取D盘下的文件。那么就要判断没有D盘的情况下应该怎么办。以此类推。