Java异常处理

异常处理:
IOException
ClassNotFoundException
异常的概述:
1、使用返回值状态标识异常
Exception:异常,Java中可以处理的错误(NoRuntimeException运行期异常及非编译期异常,
RuntimeException非运行期异常及编译期异常)
Error:不可处理的错误
//运行期异常和非运行期异常
public class yichang {
    public static void main(String[] args) {
//非运行期异常,预编译时发现异常
//        FileInputStream fis = new FileInputStream("fos.txt");
//        运行期异常
        System.out.println(5/0);
    }
}

非运行期异常:

运行期异常:

 

异常处理机制:

try{
//可能出现异常的代码块

}catch(Exception e){
         e.printStackTrace
}finally{
//最终的代码块
}

2.1、异常的捕获和处理
Throwable类(-Exception,Error)
try-catch
try{
//可能出现异常的代码块

}catch(Exception e){class
         e.printStackTrace();
}
2.2多个catch
2.3finally的作用
无论之前是否有异常,我都将执行的代码块放入
2.4关键字
throw尝试处理异常但解决不了的在抛出给上一次
throws无论是否可以解决都抛给上一层
2.5常见的RuntimeException
lllegalArgumentException:参数不合法不正确
NullPointereException:空指针异常
ClassCastException:强制转化异常
NumberFormatException:字符串不能转化为

package cn.edu.sqxy.day14;
//运行期异常
public class runtima {
//    1、空指针异常
    public void test01(){
        String str = null;
        System.out.println(str);
    }
//    测试数组下标越界
    public void text02(){
        byte[] bytes = "Hello".getBytes();
        System.out.println(bytes[bytes.length]);
    }
//    测试数学异常
    public void text03(){
        System.out.println(5/0);
    }
//    测试强制类型转化异常
    public void text04(){
        Object obj = "Hello";
        Integer i = (Integer)obj;
    }
//    测试NumberFormat异常
    public void text05(){
        int num = Integer.parseInt("a");
    }
}

 2.6API
printStackTrack输出错误信息,执行堆栈信息
getMassage获取信息
getCause获取异常出现的原因
2.7自定义异常

package cn.edu.sqxy.day14;
//自定义异常
public class copyexception extends Exception{
//    自定义构造方法
    public copyexception(){
        super();
    }
    public copyexception(String message,Throwable cause){
        super(message,cause);
    }
    public copyexception(Throwable cause){
        super(cause);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_张仲元

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值