Java学习笔记 day16

1 异常

快捷键 ctrl + alt + t

try catch

即使出现了异常,程序也可以继续执行

异常两大类

Error 异常

JVM无法解决的严重问题 程序会崩溃

StackOverflowError栈溢出     OutofMemoryError内存不足

Exception 异常

其他因编程错误或偶然存在的外在因素导致的一般性问题,可以使用针对性的代码处理

又分为编译时异常 和 运行时异常

RuntimeException

①NullPointerException 空指针异常 当程序在需要的地方使用null时抛出

②ArithmeticException 数学运算异常

③ArrayIndexException 数组下标越界异常

④ClassCastException 类型转换异常

⑤NumberFormatException 数字格式不正确异常

FileNotFoundException

①SQLException 操作数据库异常

②IOException 操作文件异常

③FileNotFoundException 找不到文件异常

④ClassNotFoundException 加载类时找不到异常

⑤EOFException 操作文件时,到文件末尾异常

⑥ILLegalArguementException 参数异常

2 异常处理机制

①try - catch - finally

程序员在代码中捕获发生的异常 自行处理

try{}

catch(Exception e){try把异常封装成对象e 传递给catch}

finally{不管try代码块是否有异常发生 始终执行finally代码块  通常将释放资源的代码放在这里}

可以有多个catch语句

没有异常就不执行catch……

②throws

将发生的异常抛出 交给调用者(方法)处理 最顶级的处理者就是JVM

如果一个方法中可能生成某种异常 但并不确定如何处理这种异常,可以使用throws 表示将不对这些异常进行处理 而由该方法的调用者进行处理

在方法声明中用throws语句可以声明抛出异常的列表 throws后面的异常类型可以是方法中产生的异常类型,也可以是它的父类

throws关键字后也可以是异常列表 即 可以抛出多个异常

3 处理细节

对于编译异常 程序中必须处理 比如 try-catch 或 throws

对于运行异常,如果没有处理,默认就是throws处理

子类重写父类方法时 对抛出异常的规定 :子类重写的方法,抛出的异常类型必须和父类一致,要么为父类抛出的异常的子类型

throws过程中 如果由方法try-catch 就相当于处理异常 就可以不必throws

4 自定义异常

当程序中出现了某种“错误”但错误信息并没有在Throwable中描述 可以自己设计异常类,用于描述该错误类型信息

步骤

①定义类:自定义异常类名(自己写)

②继承Exception 或 RuntimeException

5 Throw 和 Throws

关键字

               意义

       位置

后面跟的东西

Throws

异常处理的一种方式

方法声明处

异常类型

Throw

手动生成异常对象的关键字

方法体中

异常对象

try-catch-finally中

最后return!

最后return!

最后return!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值