在《java并发编程实战》第四首先提一个问题:世界上最浪漫的话是什么?
哈哈,猜不到吧~答案就是:ERROR 0;
相信所有学过编程的童鞋们看见这一句话的时候,一定激动的热泪盈眶,恨不能就此以身相许,从此不再受那满屏红色波浪线的压迫。。。
咳咳。。。我们来谈谈java里的异常机制。
java中程序出现报错一般是有三种情况:
一种是语法错误,这种错误的话,在eclipse里会直接在编写的过程中报错,以便于咱们的及时修改代码,这种错误完全是由于语法格式不对造成的,只要对着书本写对格式就好。
一种是错误,错误问题一般是由硬件或者是系统基层所造成的,无法从咱们自己写的程序上解决,这种问题,咱们不去管它。
另一种是异常。异常是由咱们写的程序的逻辑上的错误造成的,这种错误,没有语法错误,系统在运行之前是无法帮我们找到错误。这种问题包括:空指针,数组下标越界等。
我们在与异常和错误的斗争过程中逐渐学会了java,但随着写的代码越来越多,我们会渐渐发现,有时候,我们无法避免一些异常,比如:在系统中,我们写在程序当中的文件路径,可能换一台电脑运行该程序的时候,文件路径就不再存在了,这是我们无法避免的一些问题,于是我们就要学习去处理这些异常。
在java中,异常是具有自己的类(Exception)的,我们在java中,可以用try catch机制处理Exception问题。
这里其实相当于一个IF条件语句,系统先去尝试try语句,如果try语句里的方法体可以运行,那么就运行try方法体里的语句,如果出现异常,那么就去运行catch方法体中的语句。
在java中还有一种异常的处理机制就是throw语句,当一个地方出现了异常,可以在此处抛出异常,用throw抛出,也就是当出现了异常,此处语句不再执行,换到此异常被catch的方法中。章4.4.1节给出了一个程序示例: