异常:异常是指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序
错误:一般程序员无法解决的问题(注意:此问题指的不是异常),称为错误,例如:内存溢出
1、编译异常 运行异常
编译异常:在编译过程中,JVM通知程序员此处代码有问题时,称为编译异常。
运行异常:编译通过,在运行时产生的异常,称为运行异常。
2、异常处理:捕获 申明 抛出
异常捕获:
try{代码块}catch(Exception e){代码块}finally{代码块}
在try、catch、finally中申明的变量,不能在本代码块之外使用
执行顺序:将有可能产生异常的代码写入try块中,代码执行过程中默认执行try块中的代码,当try块中的代码产生异常时,跳转到catch块中执行,finally块不管任何情况都会执行。
注意:当代码执行不产生异常时,则只执行try块中的代码。
注意:在代码产生异常时,已经执行过的代码依然生效。
注意:异常捕获时需要在catch的小括号中申明对应的异常类型。
注意:finally开无论如何都会执行,在try和catch块中加入return,则执行顺序将变为:return之前执行finally,之后再return。
注意:异常信息最后打印。
注意:catch块可以有多个
异常申明:throws关键字表示异常申明,写在方法参数列表后面,方法体前面,关键字后面跟异常类型,多个异常类型使用逗号(",")间隔
注意:如果申明的异常为具体类型,则不需要在调用该方法时捕获异常,如果申明的异常为Exception(即:没有具体类型),咋在调用该方法时需要使用异常捕获来处理。
异常抛出:throw关键字表示抛出异常,写在方法中,后面跟具体的异常类型信息
场景:可以自定义异常提示信息
3、常见异常:
1、除数为0 :java.lang.ArithmeticException: / by zero
2、数组下标越界:java.lang.ArrayIndexOutOfBoundsException: 3
3、空指针异常:java.lang.NullPointerException
4、课外
1、jar包:类库
导入jar包 ---> 将jar包添加到项目路径 ---> 使用
2、属性文件(后缀为.properties的文件)
此种文件为配置文件,文件中每一行为一个键值对,一般以等号("=")或者冒号(":")连接,前面的为键,后面的为值。