我们来看看c语言中的出错判断,这种出错判断完全是程序员自己编写的,一般我们用”return-1”做最后判断的语句,然后可以判断函数的返回值就可以知道函数有没有出错,但是这样有没有问题?就比如说在一个程序体内有多个出错判断的语句,我们这样只能知道函数体出现了问题,而不知道到底是那个出错判断出现问题。其实在c语言中也有这种情况的解决方法就是“goto”,这种方法一般很少用,很多情况下出现在驱动的程序中。我们来看出错判断在java中是怎么解决的,就是用异常。异常是怎么解决上面的问题呢?其实在java中有个重要的思想,就是面向对象思想,他就把异常封装成一个类叫“异常类”。然后把每个可能出现的问题都对应一个相应的“异常类”这样就可以把每个出现问题的地方,都可以做相应的操作。
我们首先来看java异常的分类,异常的基类是Throwable类,Throwable类下边又分两个大类,一个是Error类,一个是Exception类。首先来看Error类,如果出现了这个错误程序员是不能控制的,因为他经常是一些虚拟机的那些问题,一般出现了这个问题我们也不能去操作。然后再去看看Exception类,这个类就是咱们在程序中经常出现的类,这个类在程序中也要分很多的子类。我们就介绍最常见的两个子类“IOException”,“TimerunException”。IOException是关于文件异常的类,一般就是文件不存在,读写出现问题就用这个类。还有一个TimerunException类,这个类就是程序在运行期间出现的问题,比如说数组越界,除数不能为0,等等。
关于异常类的使用是很简单的。一般使用三个语句块来实现。Try{}catch(){}finally{}。其中finally是可选的,就是可写可不写。Try{}语句就是抛出异常,里面放的是可能出现问题的语句块。在java中如果语句出现了问题,就会自动的生成一个异常类。Catch(){}语句就是捕获异常。一般就是catch(Exceptione){.....}的形式,在这个语句里我们就可以针对相应的异常做一些操作,比如说提示什么的。还有一个是finally{}语句块,这条语句如果存在,不管有没有异常都会执行。