Java异常处理

异常信息内容

1.打印错误信息
2.打印异常类
3.打印错误发生的位置
4.将你的程序停止

异常类
  • Throwable(所有异常的父类)
  • Error(数据库崩溃 系统崩溃)
  • Exception(异常类)
  • RuntiomeException(运行时异常)
异常处理方式
  • 使用try…catch…finally自己处理

    try:存放可能发生异常的代码
    catch:匹配异常类的对象
    finally:异常匹配完毕后,肯定会执行的代码


    public static void main(String[] args) {
        try {
            int num = 10/0;
            System.out.println(num);
            return;
        } catch (Exception e) {
            System.out.println("你除零了");
        } finally {
            System.out.println("你猜我执行了吗");
        }       
    }
注意:

1.程序不会停止
2.catch匹配成功后,执行括号中的语句
3.执行括号中语句执行完毕,程序继续运行
4.可以用多个catch进行匹配
5.匹配时类要从小到大依次书写
6.无论发生异常与否,finally语句一定会被执行(用于关闭数据库和流资源)

  • 交给上级处理
    在方法中用关键词throw抛出异常,谁调用该方法就把异常抛给谁,抛出异常的方法需要在方法上标识一下,使用关键词throws标识方法有异常.
public void setAge(int age) throws Exception{
        if (age > 0 && age < 120) {
            this.age = age;
        }else {
            Exception e = new Exception();
            throw e;
        }
    }
throw和throws区别

写法:
throw 后面写的是抛出的异常对象
throws 后面写的是异常类的类名
位置:
throw 写在方法中
throws 写在方法上
作用:
throw 抛出一个异常对象
throws 标识方法携带一个异常

异常的分类

1.运行时异常(需要将程序停下来,修改错误)
例如: 空指针 越界
特点:
a.不强制处理
b.一旦发生运行时异常,程序会立即停止(不处理的情况下)

2.编译时异常(有可能发生错误,提前为这个错误做准备)
特点:系统强制你对编译时异常进行处理

继承中的异常(多线程)

1.子类重写父类带异常方法,可以选择抛不抛出异常
2.父类方法没有抛出异常时,子类重写方法中不能抛出异常,只能选择自己处理这个异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值