异常的处理(try.....catch )

一、异常(Exception)跟错误(error)两种都是继承自throwable接口,这里主要说的是异常的处理。

异常分为两类:一种为编译时异常,一种为运行时异常

1.编译时异常。这种异常时属于必须处理的异常(因为不处理代码运行不下去)有两种处理方式:

一种为try.....catch,一种为throws Exception(这里的异常知道的可以写具体种类,不知道的可以直接写底层的Exception)。

分析:try.....catch就是在可以发生高风险的代码区域内加上,当区域内的代码发生异常时可以执行catch里面的代码,并且不会因为这一段代码错误,导致整个程序终止。

 try-catch的格式
     try{
         要执行的代码;
     }catch (异常类名 变量名){
         对异常的处理
     }
 2. try-catch捕捉异常的执行流程
     先执行try的代码,
         try的代码没报错,跳过catch,正常执行其他代码
         try的代码报错,进入对应的catch执行,执行结束正常执行其他代码
 3. try-catch的好处
     如果出现报错,程序会处理报错,然后往后执行
多个catch使用注意:
     多个catch中的异常不能相同。
     若catch中的多个异常之间有子父类异常的关系,那么子类异常要在上面的catch处理,父类异常在下面的catch处理。
     如果出现异常,多个catch最多也只会执行一个。(从上往下匹配)

分析:throws Exception是将可能出现的错误层层往上抛,并没有根本上处理。从java内来看就是抛给方法,方法抛给调用者,调用者抛给主方法,主方法抛给java虚拟机。

从客户<<---->>前端<<---->>后端<<---->>服务器这个流程来看,就是将错误抛给客户端,如抛给客户的浏览器等这种对用户体验来说不友好。

因此在处理可能出现高风险代码时尽量用try....catch处理。

自定义异常:

java里面提供了很多异常提示如:ConcurrentModificationException(并发修改异常)、IndexOutOfBoundsExcepiton(索引越界异常)、NullPointerException(空指针异常)等等异常

还有就是一些异常形式在java里面没有的异常形式。例如:年龄超过正常范围等,需要我们自己定义。

如下图:年龄超范围

 可以抛异常,去警告输入的值是否符合要求。

通过throw new 自定义的异常

throw抛出异常给方法,方法得写上要抛出的异常类型。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值