异常处理
2015-08-21 23:15
190 查看
【异常处理五个关键字】
try、catch、finally、throw、throws
【异常的分类】
Throwable:是所有异常类和错误类的基类。其下有Error和Exception两种。
Error:是系统内部的错误,无法处理的。由Java虚拟机产生并抛出,包括动态链接失败、虚拟机错误等,程序对其不做处理。
Exception:所有异常类的父类。其下有两种子类异常,一种属于RuntimeException是可处理也可不处理的异常;另一种属于必须必须catch和处理的异常。
RuntimeException:如被0除、数组下标超范围等,产生频繁,处理麻烦,若显示的声明或捕捉将会对程序可读性和运行效率影响很大。因此由系统自动检测并将他们交给缺省的异常处理程序(用户可不对其处理)。
【基本概念】
1、Java异常是Java提供的用于处理程序中错误的一种机制。
2、所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界 ,所读文件不存在)。
3、设计良好的程序应该在异常发生时提供处理这些错误的方法,使程序不会因为异常的发生而阻断或产生不可预见的结果。
4、Java程序的执行过程中如出现异常事件,可生成一个异常对象,该异常对象封装了异常事件的信息并将被提供交给Java运行时系统,这个过程称为抛出(throw 异常)。
5、当Java运行时系统接收异常对象时,会寻找能处理这一异常的代码并把当前对象将给其处理,这一过程叫捕捉(catch)异常。
【finally】
代码范例:
try{
//可能抛出异常的语句
}catch(SomeException1 e)
{
............
}catch(SomeException2 e)
{
.............
}finally{.......}
finally的作用在于无论报不报错,都执行finally。
1、try语句指定了一段代码,该代码就是一次捕获并处理例外的范围。
2、在执行过程中,该段代码可能会产生并抛出一种或几种类型的异常对象,它后面的catch语句要分别对这些异常做相应处理。
3、若没有例外产生,所有的catch代码段都被略过不执行。
4、无论try所指定的程序块中是否抛出例外,finally所指定的代码都要被执行。
5、通常finally语句中可进行资源的清除工作,如:关闭打开的文件,删除临时文件等等。
【使用自定义异常】
1、通过继承java.lang.Exception类声明自己的异常类。
2、在方法适当的位置生成自定义异常的实力,并用throw语句抛出。
3、在方法前声明部分用throws语句声明该方法可能抛出的异常。
【切记】重写方法需抛出与原方法所抛出异常类型一致异常或不抛出异常!!!!!
【面对异常两个处理方式】
1、抛出(抛出异常的方法在调用的地方一定要处理!!或者继续抛出!!!)
举例:
class A{
public void f() throws SomeException{ //抛出异常
...............
}
public static void main(String args[]){
A a = new A() ;
trry{
a.f()
}catch(SomeException se){
................
}
}
void f1()
4000
throw SomeExcepton{ f2(); }
//抛出异常
void f2() throw SomeExcepton{ f3() ; }
void f3() throw SomeExcepton {
throw new SomeExcepton(“SomeException occars!”) ;
}
}
2、捕捉
try、catch、finally、throw、throws
【异常的分类】
Throwable:是所有异常类和错误类的基类。其下有Error和Exception两种。
Error:是系统内部的错误,无法处理的。由Java虚拟机产生并抛出,包括动态链接失败、虚拟机错误等,程序对其不做处理。
Exception:所有异常类的父类。其下有两种子类异常,一种属于RuntimeException是可处理也可不处理的异常;另一种属于必须必须catch和处理的异常。
RuntimeException:如被0除、数组下标超范围等,产生频繁,处理麻烦,若显示的声明或捕捉将会对程序可读性和运行效率影响很大。因此由系统自动检测并将他们交给缺省的异常处理程序(用户可不对其处理)。
【基本概念】
1、Java异常是Java提供的用于处理程序中错误的一种机制。
2、所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界 ,所读文件不存在)。
3、设计良好的程序应该在异常发生时提供处理这些错误的方法,使程序不会因为异常的发生而阻断或产生不可预见的结果。
4、Java程序的执行过程中如出现异常事件,可生成一个异常对象,该异常对象封装了异常事件的信息并将被提供交给Java运行时系统,这个过程称为抛出(throw 异常)。
5、当Java运行时系统接收异常对象时,会寻找能处理这一异常的代码并把当前对象将给其处理,这一过程叫捕捉(catch)异常。
【finally】
代码范例:
try{
//可能抛出异常的语句
}catch(SomeException1 e)
{
............
}catch(SomeException2 e)
{
.............
}finally{.......}
finally的作用在于无论报不报错,都执行finally。
1、try语句指定了一段代码,该代码就是一次捕获并处理例外的范围。
2、在执行过程中,该段代码可能会产生并抛出一种或几种类型的异常对象,它后面的catch语句要分别对这些异常做相应处理。
3、若没有例外产生,所有的catch代码段都被略过不执行。
4、无论try所指定的程序块中是否抛出例外,finally所指定的代码都要被执行。
5、通常finally语句中可进行资源的清除工作,如:关闭打开的文件,删除临时文件等等。
【使用自定义异常】
1、通过继承java.lang.Exception类声明自己的异常类。
2、在方法适当的位置生成自定义异常的实力,并用throw语句抛出。
3、在方法前声明部分用throws语句声明该方法可能抛出的异常。
【切记】重写方法需抛出与原方法所抛出异常类型一致异常或不抛出异常!!!!!
【面对异常两个处理方式】
1、抛出(抛出异常的方法在调用的地方一定要处理!!或者继续抛出!!!)
举例:
class A{
public void f() throws SomeException{ //抛出异常
...............
}
public static void main(String args[]){
A a = new A() ;
trry{
a.f()
}catch(SomeException se){
................
}
}
void f1()
4000
throw SomeExcepton{ f2(); }
//抛出异常
void f2() throw SomeExcepton{ f3() ; }
void f3() throw SomeExcepton {
throw new SomeExcepton(“SomeException occars!”) ;
}
}
2、捕捉
相关文章推荐
- Fiddler工具使用-抓取https请求
- OJ使用方法
- android Git使用gitignore建立项目过滤规则
- 数据结构绪论1
- Java中keytool的使用
- #ifndef... #define与#pragma once总结
- hdu1018 Big Number
- 同一个变量打印char类型和unsigned char 类型,引发的思考
- memcpy 和 memmove 函数
- CAS服务端取消https验证
- redis cluster 集群重启关闭
- 自定义控件(五)禁止滑动的ViewPager
- 新手必须知道的13个Xcode小技巧
- 鸟哥的Linux私房菜-----14、磁盘配额
- 《花千骨》为何被批“脑残”还能创造收视神话?
- 堆区和栈区的区别
- 【LeetCode】(172)Factorial Trailing Zeroes(Easy)
- grub修复
- PAT 1010 月饼
- 多线程在python中的使用 thread