异常有两大类:一类是RuntimeException(运行时异常),一类是Checked Exception(已检查异常),所有不是运行时异常的异常都称为已检查异常,如IOException、SQLException等。
总结起来就是:
●用的多还容易出现的异常叫做运行时异常,写代码时不处理也没事。像下表越界,你用下标获取数组元素时基本没用过异常处理。
●用得少,但是也容易出现的异常称作已检查异常,写代码时必须处理,不处理就会报错。典型的有SQLException、IOException,你每次用java执行sql语句时都会进行异常处理,不处理就会报错。
异常的处理方式一般有两种
一、用try catch处理
像这样:
try里面的语句如果出现异常会抛出一个异常对象,这个异常对象如果和catch后面小括号里面的异常对象(上面例子里的Exception e)匹配,或者是他的子类就会被捕获,这时try里面的代码会停止往下执行,然后去执行catch后面大括号里的句子,整个程序并不会停止。
二、用throws交给所在方法的调用者处理
就是在异常语句所在的方法后面直接throws异常,自己不去处理,而是将异常交给此方法的调用者,让调用者去处理。像这样:
a方法将异常用throws声明,自己并不去处理。testException方法调用了a方法所以就要去处理它的异常。
你在处理异常时还有可能见过throw new Exception();
这样的代码。
不让异常直接抛出,而是捕获之后加一点改造(改变异常的说明,让开发人员更好处理)再抛出。
菜鸟一枚,如有错误欢迎指出٩(๑❛ᴗ❛๑)۶。
网友评论