JAVA从入门到精通(12)-- 错误处理

来源:互联网 发布:虚幻4引擎和unity3d 编辑:程序博客网 时间:2024/05/16 10:39

一、JAVA异常简介

1》异常简介:

a、异常处理的作用

b、Java异常体系结构的简介

2》处理异常:

a、try-catch以及try-catch-finally

b、抛出异常

c、自定义异常

d、异常链

3》异常定义:

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

4》异常的体系结构

Throwable----->Error  :不常见的错误类型,通常指系统错误,比如:虚拟机错误或线程死锁(程序终结者)

|

|------------->Exception:异常,比如指编码、环境、用户操作输入出现问题

|-------->非检查异常:RuntimeException:比如空指针异常、数组下标异常、算数异常

|-------->检查异常:比如:文件异常、SQL异常

二、处理异常

1》try {

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

}catch(Exception  e){

//处理该异常的代码块

}

如果try中确实发生异常了,程序将会终止执行,程序的控制权将被移交给catch块中的异常处理程序。

catch如何处理呢?可以发出警告,或者记录错误日志。

2》多重try-catch块

处理不同的异常

注:catch块是先子类后父类。

3》try-catch-finally

try {

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

}catch(Exception  e){

//处理该异常的代码块

}...(n个catch块)...{

}finally{

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

}

三、Java中异常抛出以及自定义异常

1》异常抛出

throw:将产生的异常抛出(动作)

throws:写在方法名和方法参数表之后,方法体之前,可抛出多种异常,每个异常用 , 隔开

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

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

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

throw   new    Exception() ;

}

2》自定义异常

自定义异常:自己定义的异常类型

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

四、异常链

1》定义:捕获的异常包装成新的异常,新的异常添加对原始异常的引用,再把新的异常抛出。

五、实际应用的经验和总结

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

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

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

4》尽量去处理异常,切忌只是简单的调用printStackTrace()去打印输出,可加以适当的辅助,例如:业务的回滚

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

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

0 0
原创粉丝点击