day12-异常类

异常

什么是异常

就是程序错误终端,异常一旦出现就会中断程序。

所有以异常的父类都是Throwable

Throwable有两个子类Exception、Error,分别表示错误与异常,通常子类都会以Exception和Error为后缀

Error

Error错误表示的JVM出现了问题,通常由两个常见的错误分别是

StackOverflowError:堆栈内存溢出(通常死循环会出现)

OutOfMemoryError:内存溢出(没有可用的内存的时候会出现 通常递归的时候会出现)

Exception

Exception异常,表示程序的逻辑错误导致的问题,通常程序员要解决

NullPointewrException:空指针异常(通常调用空对象的时候会出现)

ArrayIndexOutOfBoundsException:数组越界异常(通常调用数组以外的索引会出现)

ParseException:解析的时候格式错误异常(通常是用户不按照格式填写出现的异常)

ClassCastException:对象转换异常(通常两个互不相干的对象转换的时候出现)

AithmeticException:算数异常(通常算数错误例:10/0的时候会出现)

NumberFormatException:转换封装类型得时候会由该异常

捕获异常

  1. 捕获异常 并处理
  2. 自身异常抛出

捕获异常格式

try{
    
}catch(异常 e){
    
}catch(异常 e){
    
}
...
finally{
    
}

异常类常用的方法

方法作用
public String getMessage()获得错误信息
public void printStackTrace()打印程序的异常详细信息

finally语句块

必须再try{}语句块后他的作用是不管程序出不出现异常都会输出finally语句块之中的内容,但是出现程序的异常终止不会执行finally语句块的内容,比如说System.exit(0);

抛出异常

就是自身不处理异常的信息 ,向上级抛出异常的提示,使用throws关键字

语法:

修饰符 返回值类型 方法名(参数列表...) throws 异常A,异常B...{
}

throw关键字

throw的作用是手动抛出具体的异常对象,也可以代替return做返回来结束一个方法

throw与throws之间的关系

throws和throw没有任何的关系

throw是用来返回一个异常的

throws表示方法不需要做异常的处理,也可以用于提醒调用者异常处理

编译异常与运行时异常

RuntimeException和其子类属于运行时异常,运行的时候才会报错,等到出现的时候再处理

Exception编译时期异常,编译的时候不处理会报错

自定义异常

需要自行继承异常类对象,继承RuntimeException运行时异常,继承Exception编译时期异常

好处:

  1. 从类的名字可以看出其异常的意思
  2. 可以对异常类进行封装,实其错误的时候可以返回错误的对应信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值