---------看了高手的说法,给他整理一起为以后方便学习,感兴趣的可以路过下-----
-- 异常总体分为两类:error(错误)和exception(异常);
--exception(异常)又分为两类:检查异常(checkedException)和运行时的异常(runtimeException);
--1,error是不能处理的,比如:程序正在运行中突然电脑死机了!
--2,Exception--------a) runtimeException(运行时的异常)不用强制 try catch,子异常有:数组越界异常、空指针异常、0为除数异常;
运行时的异常是指无法在编译期间确定的异常,只有在程序运行时才能明确的异常、比如Integer.parseInt(“..”)函数,由于不确定传入的值是不是有效的数值,这个数值只有在运行中才会被明确,所以它是一个RuntimeException
b),非runtimeException异常有:IO异常,socket异常;受检查的异常是指,可以在程序编译期间确定会抛出异常的代码,这些异常由继承Exception的类来指定
比如IO异常:你的程序正在读一个文件,而这个文件所在磁盘出现了坏道,这就必然会引发IOException,这是不是靠编程高手编写完美的程序就可以法避免得了的,程序所能做的只有出现异常之后怎么处理的问题。
举个列子:
publicstatic void main(String[] args) {
Integer i = Integer.parseInt("abc"); (这个就是在runtime异常,用不用try catch都可以)
try {
testTry(); (这个函数是自己自定义的,非runtime异常需要try catch)
} catch (Exception e){
e.printStackTrace();
}}
publicstatic void testTry() throws Exception{
thrownew Exception("xxx");
}