1.异常
- 异常和错误:1.在运行过程中导致程序中断的错误操作,称为异常
- getmessage() printfstracktrace
- java异常类结构:Throwable—-|error程序员无需处理这部分有jvm处理——–|exception 程序员必须关心的异常部分:分为运行时异常(可以不在编写代码时处理,如果异常发生则jvm处理)和非运行是异常:必须在编写代码的时候处理这些异常
- java异常处理机制五大关键字: try catch finally throw throws
1)try-catch
/**
* try(){
* 可能产生的异常的代码
* }catch(异常类型){
* 如果发生要执行的代码
* }
* 情况一:try中没有异常发生,则代码执行catch后面的语句
* 情况二:try中发生异常且异常类型和catch中指定的异常类型一致,则try中操作即可中断,执行catch代码块中的操作
* 情况三:try中发生异常并且异常类型但是catch中指定的异常类型不一致,则程序完全中断,不再继续执行
* 情况四:try中发生异常并且异常类型,而catch中指定异常类型是父类类型,则try中操作即可中断,执行catch代码块中操作后,注:catch中父类类型至指定到exception
* */
2.多重catch
- 如果该异常类型没有子父关系,则catch没有其他要求
- 如果异常类型有子父关系,则必须子类在前父类在后
- 如果使用多重catch一般情况会在最后使用catch(exception ex)来保底
3.finally
- 无论异常是否发生,或者是否被处理过都要执行的代码
- 释放资源的操作
4.throw是用来手动跑出异常
- throw new 异常类型();自定义异常类型:必须继承exception或者其子类,类的实现方法里面两个构造方法即可:不带参和一个带参的 注意规范为:自定义类通常为xxexception
5.throws
- 声明某个方法可能会产生某种异常对象,告诉某调用此方法的地方要对这些异常进行处理
- throws 是声明,必须放在方法声明的头部,在参数列表的后面,去声明某个方法可能产生某些类型,比便调用该方法的其他方法中去处理这些异常
- 如果声明多个异常类型,用逗号分隔,并且无子父的前后顺序要求,但是规范一般子类在前父类在后
- 方法重写时对异常有何要求:子类重写父类的方法,不能声明新的异常类型子类重写父类的方法,声明的异常必须是父类声明的异常或其子类