JAVA中的异常

异常:

异常其实就是程序在编译和运行时期的一些不正常的异常。 Java的工程师们,把一些常见的问题都封装了异常类 ,在API中给你列举出来了。当我们使用Java语言写代码的时候,可能会出现这些问题,当出现这些问题的时候,就可以去API中找,哪里出现了问题。

异常类的继承体系

Throwable 是所有异常和错误的根类
    Error: 错误,不能解决的问题。
    Exception: 异常,可以解决的问题。
        RuntimeException: 运行时异常,在运行时才出现问题
        非RuntimeException:编译时异常,编译时有问题。

异常的处理

1.虚拟机自己处理:

直接停止程序运行,然后把异常信息打印在控制台

2.try...catch手动处理 :

        try{    //检查代码中是否有异常

                }catch(异常类 e){
               //如果try中有异常,就会被catch捕获到
            }

        好处:处理之后的代码还可以继续执行

3.throws 声明异常

throws用在方法上,用来声明一个方法它可能会有异常

//如果一个方法后面有throws声明异常,那么调用方法的时候就需要处理异常。

public static void method(String str) throws ParseException {
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    Date date = sdf.parse(str);
    System.out.println(date);
}

Throwable的方法

public  String getMessage()  
    获取异常信息
public String toString()  
    返回异常类名+异常信息
public void printStackTrace() 
    打印详细的异常信息

throw 产生一个异常

如果你是写API的人,在写方法的时候,会考虑到方法的调用者传递非法的参数。你必须先对这些参数左一些合法性的校验,如果不通过,告诉调用者一个异常。

public static void main(String[] args) {
    sale(7);
}

public static void sale(int money){
    if(money==5||money==10){
        System.out.println("钱是真的,可以正常买东西");
    }else{
        throw new RuntimeException("钱是假的,我报警了,等着!!!");
    }
}

自定义异常

如果在写一个方法的时候,API中提供的异常类,还不足以说明程序的问题。你就可以自己定义一个异常类

自定义异常类的步骤:
    1.写一个类继承Exception或者RuntimeException
    2.自动生成两个构造方法
    
注意:自定义异常,名称一定要见名知意(最好是能够使用异常类的名称,来说明问题)

基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目),个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值