Java异常

Java异常

异常分为error和Exception
只谈Exception

Exception

Exception分类

uncheckExcetion(运行时异常,编译时不检查)
checkExcetion(编译时异常,编译时检查)
重点处理checkException

如何处理异常?

异常一般都是在某个方法内部产生的
对于这个方法来说 ,可以这么处理
1.抛出异常 (throws /throw)
2.捕获异常(try/catch/finally)
尽管抛出异常,但最终还是要落实到捕获,你不处理,总要有人处理

try/catch/finally

try中放代码
catch(或者多个catch)捕获处理对应异常
finally 最后无论如何都会执行此处代码

throws/throw

先说一下Java的异常抛出机制
当发生异常,异常的方法往往不确定调用方要如何处理异常
于是,只将异常抛给调用方,由调用方决定
如果异常不被处理,
就会被不断抛出至调用方,调用方的调用方,直到main函数
如果还没有被处理的话,将会造成程序停止

throws关键字
声明方法抛出异常,不做处理 ,本方法对于方法内产生的异常
无论是系统产生的,还是自己通过throw产生的
都直接抛给外界方法处理

 public void fileopen(String path) throws FileNotFoundException       //声明抛出异常 
           {
               File f=new File(path);         
               OutputStream outputStream=new FileOutputStream(f);  //这里会可能抛出异常
           }    

无论是JVM抛出的异常,还是程序员自己抛出的异常,都必须捕获或者声明抛出到方法外

throw关键字
用于手动抛出异常
不是为了抛出到方法外,而是让自己生成的异常生效

public static void test(int num) throws IOException //即使是自己抛出的也要处理声明,不然会报错
           {
               if (num==1)
               {
                   throw new IOException();            //这里是手动抛出的异常,使异常生效
               }
               System.out.println("运行正常");
           }
自己创建异常类

继承Exception类即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值