Java入门第三季(一、异常与异常处理)

来源:互联网 发布:网络安全法宣传 编辑:程序博客网 时间:2024/04/30 19:59

(一)异常:有异于常态,和正常情况不一样,有错误出现。阻止当前方法或作用域。

throwable:

1、error:(1)虚拟机错误(VirtualMachineError)

   (2)线程死锁(ThreadDeath)

2、exception:(1)非检查异常:1)空指针异常(NullPointerException)

      2)数组下标越界异常(ArrayIndexOutOfBoundsException)

      3)类型转换异常(ClassCastException)

      4)算术异常(ArithmeticException)

   (2)检查异常:文件异常(IOException)、SQL异常(SQLException)

(二)try…catch...finally实现异常处理

try:抛出异常,抛出异常的方法会终止执行,程序的控制权将被移交给catch块中的异常处理程序。

try{

//一些会抛出异常的方法

}catch(Exception e){

//处理该异常的代码块

}

try:会抛出很多类型的异常

try{

……

}catch(Exception e){

……

}catch(Exception2 e){

……

}…(n个catch块)…{

}

catch语句的循序:先小后大(先子类后父类)

try{

……

}catch(Exception e){

……

}catch(Exception2 e){

……

}…(n个catch块)…{

……

}finally{

//最终将要执行的一些代码

}

(三)异常抛出以及自定义异常

throw:将产生的异常抛出(动作),写在方法体里面,表明抛出的具体异常这个动作

throws:声明将要抛出何种类型的异常(声明)

public void 方法名 (参数列表)throws 异常列表{

//调用会抛出异常的方法或者:

throw new Exception();

}

自定义异常:class 自定义异常类 extends 异常类型{

}

(四)小结一下下~~

1、处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理;

2、在多重catch块后面,可以加上一个catch(Exception)来处理可能会被遗漏的异常;

3、对于不确定的代码,也可以加上try-catch,处理潜在的异常;

4、尽量去处理异常,切记只是简单的调用printStackTrace()去打印输出;

5、具体如何处理异常,要根据不同的业务需求和异常类型去决定;

6、尽量添加finally语句块去释放占用的资源。

0 0
原创粉丝点击