java异常

异常

1  概述

异常是一些用来封装错误信息的对象

它由异常的类型,提示信息,报错的行号提示三部分组成

2 异常的继承结构

3 异常的处理方式

当程序中遇到了异常,通常有两种处理方式:捕获或者向上抛出

当一个方法抛出异常,调用位置可以不做处理继续向上抛出,也可以捕获处理异常

可以结合生活中的例子:如果工作中遇到了问题,我们可以选择自己处理(捕获),或者交给上级处理(抛出)

捕获方式:

 

抛出方式:

对于不想现在处理或者处理不了的异常可以选择向上抛出

方式: 在方法上设置异常的抛出管道,即:

在可能会发生异常的方法上添加代码:

 throws 异常类型
例如:void method1 throws Exception1,Exception2,Exception3{ }
TIPS:方法上有默认的异常管道:RuntimeException

4 catch 和 throws

异常处理只有两种方式:catch和throws,所以必须二选一

由于java语法本身的特点,需要开发者事先考虑异常如何处理,也就是我们常说的:"未雨绸缪"

对于初级开发者来说,我们可能会捕获,但不处理异常

try{

...

}catch(Exception e){

}

底层异常,应该向前抛到前面处理

经验少时,不知道该在什么位置捕获处理,应该选择throws

但是需要注意,在异常抛出时,有些异常比如运行时异常,可能并不会强制要求抛出此异常,调

用是也没有报错显示需要额外处理,这个时候就需要平时多积累,掌握良好的编码习惯了,手动添加

代码进行预处理,增强程序的健壮性了.

4.2

程序错误分为三种:

编译错误(checked异常);

运行时错误(unchecked异常);

逻辑错误

1.编译错误是因为程序没有遵循语法规则,编译程序能够自己发现并且提示我们错误的原因和

位置,这个也是在刚接触编程语言最常遇到的问题

2.运行时错误是因为程序在执行时,运行环境发现了不能执行的操作.

3.逻辑错误是因为程序没有安装预期的逻辑顺序执行.异常也就是指程序运行时发生错误,而异常处理就是对这些错误进行处理和控制.

其实可以手动针对逻辑错误执行一次抛出的动作,可以理解成方法return,只不过此处返回的是异常,构式:

if(逻辑错误有异常){

AException e = new AException("提示消息");

throw e;

}

4.3

throws 与throw的区别

throws

用在方法声明处,其后跟着的是异常类的名字

表示此方法会抛出异常,需要由本方法的调用者来处理这些异常

注意: 这只是一种可能性,异常不一定会发生

throw

用在方法的内部,其后跟着的是异常对象的名字

表示此处抛出异常,由方法体内的语句处理

注意: 执行throw一定抛出了某种异常

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员黑马二代

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值