Java学习---4.异常处理

本文深入解析Java异常处理机制,包括运行期错误、错误与异常的区别、异常捕获与处理、自定义异常等核心内容。

1.Java 异常:运行期出现的错误,要观察错误的名字和行号。

Java自动生成异常对象,抛给异常类对象(throw),java找到异常代码并catch。

1 try{
2  system.out.println(2/0);       
3 }catch (ArithmaticExecption){system.out.println("异常错误");  }

Error:错误,有Java虚拟机生成并抛出,包括动态链接失败,不能处理

execption:可以处理的异常

 1 FileInputStream in=null;
 2 try{
 3      in=FileInputStream("myfile.txt");
 4      int b;
 5      b=in.read();
 6      while(b!=-1)
 7      {
 8             output((char)b);
 9             b=in.read();
10       }       
11 }catch(FileNotFoundExecption e)
12 {
13       e.printStackTrace();
14 }catch(IOExecption e)
15 {
16       system.out.println(e.getMessage());
17 }finally{
18       try{
19                 in.close();
20           }catch(IOExecption e)
21             {
22                     e.printStackTrace();
23              }
24 }//finally 为异常处理提供统一的出口,在finally语句中进行资源的清除工作,如关闭打开的文件,删除临时文件。

2.异常的捕获和处理:如果方法不能处理异常抛出来就可以,只需要这样声明:

void f() throws FileNotFoundExecption ,IOExecption{}

void f2(){

   try{

               f();

       }catch(FileNotFoundExecption e){

         system.out.println(e.getMessage());

          }

          catch(IOExecption e){}

}

应该先捕获子类的异常在捕获子类的父类的异常。

3.使用自定义的异常。

(1).通过继承java.lang.Execption类声明自己的异常类。

(2).在方法适当的位置生成自定义异常的实例,并用throw抛出。

继承中,重写方法需要抛出与原方法所抛出异常类型一致异常或者不抛出异常。

转载于:https://www.cnblogs.com/AntongTwb/p/4919757.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值