JavaSE(3.27) 异常


学习不要眼高手低,学习是一点点积累的。即使你现在很菜,坚持学一个学期不会差的!只要花时间学习,每天都是进步的,这些进步可能你现在看不到,但是不要小瞧了积累效应,30天,60天,90天后,你每次都会发生质的变化。

每一个人都要有危机感,就好像你被水刑,有人把你的扔进大缸里面,按着你的头,你不听的挣扎,想要呼吸。每当濒死,他每次都会让你呼一会气,这样就是危机感。生于忧患,死于安乐。

大学四年就像温水泡脚,在舒适区快乐玩耍,等毕业了,就是你把洗脚水喝掉的时候了。

-------------------------------------------------------------------------------------------------------------------博哥语录

目录

​编辑

1.异常

2.异常的种类

3.throws(异常声明)

4.try-catch 处理异常

5.finally

6.异常的子父类关系



1.异常

程序出错误的时候抛出异常,编译器提示你在哪个类中出现了什么错误,在哪一行。

如果没有处理异常,那么后面的程序不会被执行。

2.异常的种类

异常分为编译时异常和运行时异常。

编译时异常又称为受查异常,必须去处理

3.throws(异常声明)

在类后面写,说明这个程序可能会抛出什么异常

JavaSE(3.27) 异常_第1张图片

放在参数的()之后声明异常

如果程序员自己不写处理方法,那么就交给JVM粗暴的处理,崩溃掉程序 

JavaSE(3.27) 异常_第2张图片

         

4.try-catch 处理异常

catch里面是编译时异常则try中一定要有这个异常,否则编译

JavaSE(3.27) 异常_第3张图片

 JavaSE(3.27) 异常_第4张图片

5.finally

 无论程序是否抛出异常都执行,就算catch中没有匹配的异常,交给了JVM也会执行finally语句

finally 一般用于资源的释放

不建议在finally里面写return 会覆盖掉原来的返回值

6.异常的子父类关系

Exception 和 Error 继承 Throwable 

IOException(受查异常) 和 RuntimeException(运行时异常) 继承 Exception

受查异常IOException必须被 catch捕获  不对,可以用throws声明 ,但是如果是处理的话要catch捕获

栈溢出是Error

你可能感兴趣的:(JAVA,jvm,java,开发语言)