java中关于异常的总结以及return的使用

上一章:java基础关于接口总结

异常

前言:

异常5个关键字:

try、catch、finally、throw、throws

1、try:

执行可能产生异常的代码

​ try:将可能出现的代码块写进try中,用于后续捕捉

2、catch:

捕捉异常

​ catch 所代表的代码块,只有在与他相匹配的try捕捉到异常并处理,然后给用户合理提示。

try{
    //将会发生异常的内容
}catch(Exception e){
    //声明当前的catch 能够处理的异常类型
}

3、finally:

无论是否发生异常,代码总能执行

​ 无论 与之匹配的 try 有没有发生异常,都会执行 finally中的代码块

4、throw:

①、手动抛出异常

②、在方法体中使用

③、抛出的是异常对象

throw new +异常类型(“ 带参”);

④、在 throw 后不可以继续写业务逻辑

⑤、使用throws后,必须此方法头使用throws声明可以会抛出的异常类型

5、throws:

①、声明该方法可能抛出的异常类型

②、在方法头后,方法体前使用

③、当开发人员调用的一个方法有throws的声明,需要去处理该异常

​ 声明方法可能要抛出各种异常(一般四个以内)

总结:

1、java中常见的异常:

1、算术异常:ArithmeticExecption

2、空指针异常:NullPointerException

3、数组下标越界异常:ArrayIndexOutOfBoundsException

4、未找到类异常:ClassNotFoundException

5、类型转换异常:ClassCastException

6、数字格式转换异常:NumberFormatException

7、非法参数异常:IllegalArgumentException

8、访问null的对象方法、空指针:NullPointerException

9、方法未找到异常:NoSuchMethodException

10、数组负长度异常:NegativeArrayException

11、违背安全原则异常:SecturityException

12、文件已结束异常:EOFException

13、文件未找到异常:FileNotFoundException
14、输入输出异常:IOException

2、异常处理体系:

异常处理原则:

1、为了保证程序能够继续执行

2、对用户友好

3、自定义异常

1、所有的异常类的父类是 Exception

​ 1、创建一个类

​ 2、继承 Exception 类

​ 3、按需要去定义构造器

4、异常中return关键字

一 . finally 语句块一定会执行吗?

在下述4种特殊情况时,finally块都不会被执行:

1)在finally语句块中发生了异常。
2)在前面的代码中用了System.exit()退出程序。
3)程序所在的线程死亡。
4)关闭CPU。

二 . 如果执行了finally,函数返回值问题

原理:对于这种情况个人感觉可以理解为:就是在 return的时候会把返回值压入栈,并把返回值赋值给栈中的局部变量, 最后把栈顶的变量值作为函数返回值。

总结:所以可得:retuen在 finally中执行,其返回值就会覆盖 try/catch中的返回值;如果 finally中不执行 return语句,在 finally中修改返回变量的值,不会影响返回结果。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值