Java_异常处理体系(try_catch_throw_throws_finally,超详细~)及return在其中的影响

1、异常:分为 编译时异常 和 运行时异常,意思是:程序中可能出现的问题。
2、异常体系的最上层父类是:Exception

3、编译时异常和运行时异常的区别:

  • 编译时异常:没有继承RuntimeException的异常,直接继承于Exception,在程序进行编译过程中就会出现错误提示,在编译阶段,必须手动处理,否则代码会报错。
  • 运行时异常:RuntimeException本身和子类。编译阶段没有出现错误提示,运行过后会出现的异常。

4、java程序在编译阶段,不会运行代码,只会检查语法错误,或者做一些性能的优化。
5、异常的作用:①程序有bug时,我们的能在控制台看到信息,从而提醒我们的程序哪里出问题了
        ②异常可以作为方法内部的一种特殊的返回值,用来通知调用者底层的执行情况。
6、异常的处理方式(3种):
     <1> jvm默认的处理方式(首先将异常信息输出在控制台,然后程序执行到这停止,下面的代码将不在执行)
     <2>自己处理(捕获异常,try…catch),其目的是:当程序出现异常的时候,让代码可以继续向下执行。
     <3>抛出异常(throw、throws),这个是用在方法中的,方法中出现异常的话,这个方法就没有运行下去的必要了,此时我们采用抛出异常处理,停止该方法,并且告诉调用者出现了问题。
7、注意:如果我们要捕获多个异常,这些异常类型中如果存在父子关系的话,那么父类一定要写在下面。
8、捕获异常时可能遇到的四种情况(总结):
在这里插入图片描述
9、异常信息的输出所使用的方法:e.getMessage( )—方法返回String类型结果,e.toString( )—也是返回String类型的结果,e.printStackTrace( )—没有返回值,最常用的方法,红色字体打印出异常信息,异常信息内容包括了之前两个方法打印出的内容,并且此方法仅仅是打印信息,不是停止程序的运行。
10、无论是否捕获异常,finally中的内容是无论如何一定进行执行的,它是异常处理体系中的一部分。

★★★return在try…catch中的作用及影响★★★

在这里插入图片描述

  • 异常finally中为什么不建议使用return语句???- 因为当在finally中执行return时会覆盖try catch中的reutrn,所以一般不建议使用。
  • retrun一般都放在try和catch的最后,因为在一个方法体中return后面的语句不再被执行。

11、如果声明的异常是一个运行时异常,则方法定义处声明的代码可以省略不写(例如:throws RuntimeException,可以不写),但是如果是编译时异常,则声明的代码必须手动写出

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值