Java基础之异常处理

  1. 异常处理能让你集中精力在一个地方解决问题,然后将处理错误的代码分开来放在另一个地方。

二、捕获异常

======

  1. 设置一个try/catch的代码块;

  2. 如果try块内的任何代码抛出了由catch子句指定的异常,则

a. 程序跳过try块中的其他代码;

b. 程序执行catch从句中的处理器代码。

  1. 如try块内没有抛出异常,直接跳过catch从句内容。

  2. 如try块内抛出的异常没有在catch从句中指定, 则该方法会立即退出。

三、处理异常

=======

1.如何控制try的范围:根据操作的连动性和相关性,如果前面的程序代码块抛出的错误影响了后面程序代码的运行,那么这个我们就说这两个程序代码存在关联,应该放在同一个try中。

对已经查出来的例外,有throw(消极)和try catch(积极)两种处理方法。

对于try catch放在能够很好地处理例外的位置(即放在具备对例外进行处理的能力的位置)。如果没有处理能力就继续上抛。

当我们自己定义一个例外类的时候必须使其继承excepiton或者RuntimeException。

  1. 对子类方法抛出的异常不能超出父类方法throws指令的范围。如父类方法不抛出任何异常,在子类方法中必须捕捉每一个“已检查异常”。

四、捕捉多个异常

========

  1. 每个异常类型使用一个catch从句;

  2. 如前面catch从句捕获异常,将直接跳过后面catch从句内容;

  3. 建议按异常类型的子类->超类的顺序排列catch从句的先后顺序。

五、finally 声明

============

无论是否捕获异常,都会执行finally从句中的代码;

例子:

finally{ con.close();}

六、 异常调用栈

========

  1. 哪个方法调用的代码发生异常,返回到调用方法的地方;

  2. main方法调用的代码发生异常,返回到虚拟机。

七、 异常层次

=======

答:1) 起源于Error的类代表不常用的环境(通常是硬件层面);

  1. 应用程序不能够从Error中恢复正常;

  2. 所有的Java异常都起源于Exception;

  3. RuntimeExcepiton也称为未检查异常;

  4. 未检查异常无须捕获;

  5. 其它异常,也称为检查异常,必须处理

Object

Throwable

|ˉˉˉˉˉˉˉˉ|

Error      Exception

|            ↑

|     |ˉˉˉˉˉˉˉ|

最后

现在其实从大厂招聘需求可见,在招聘要求上有高并发经验优先,包括很多朋友之前都是做传统行业或者外包项目,一直在小公司,技术搞的比较简单,没有怎么搞过分布式系统,但是现在互联网公司一般都是做分布式系统。

所以说,如果你想进大厂,想脱离传统行业,这些技术知识都是你必备的,下面自己手打了一份Java并发体系思维导图,希望对你有所帮助。

,包括很多朋友之前都是做传统行业或者外包项目,一直在小公司,技术搞的比较简单,没有怎么搞过分布式系统,但是现在互联网公司一般都是做分布式系统。

所以说,如果你想进大厂,想脱离传统行业,这些技术知识都是你必备的,下面自己手打了一份Java并发体系思维导图,希望对你有所帮助。

[外链图片转存中…(img-N6cHva5d-1714351089449)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值