异常Exception

Throwable类

Throwable类是java语言中所有错误和异常的超类
分为Error错误和Exception异常

错误(Error)

错误,不能通过程序捕获问题解决,是一般由虚拟机生成并脱出的,不由程序猿控制,比如内存溢出问题…

异常(Exception)

异常,当程序一旦遇到异常,程序无法运行或者不能继续执行,可以通过增强程序健壮性或者专业异常处理方案解决

异常分为:

1、CheckedException 编译时异常|检查时异常 : 发成在程序编译期间,如果不处理,程序语法运行 --> 需要通过异常处理方案解决

2、RuntimeException 运行时异常 : 发生在程序运行期间,程序会直接终止运行,无法继续运行 --> 可以通过增强程序健壮性的方式 | 异常处理方案解决
例如:

常见的运行时异常:
1、空指针异常 java.lang.NullPointerException
2、数组索引越界异常 java.lang.ArrayIndexOutOfBoundsException
3、数组长度负数异常 java.lang.NegativeArraySizeException
4、 类型转换异常 java.lang.ClassCastException
5、 数学异常 java.lang.ArithmeticException

异常处理

对于编译(非运行)时异常( checked exception ),必须要对其进行处理,否则无法通过编译。处理
方式有两种:
异常捕获
异常抛出

异常抛出
public static void test() throws Exception{
	//可能发生异常的代码
	//如果发生了异常,那么异常之后的代码都不会被执行
}

在产生异常的方法声明后面写上 throws 某一个Exception 类型,如 throws IOException,将异常抛出到外面一层去.

异常捕获try catch finally
try{
	//可能发生异常的代码
	//如果发生了异常,那么异常之后的代码都不会被执行
}catch(NullPointerException e){//空指针异常处理
	//处理代码
}eatch(Exception e){//所有异常处理
	//异常处理代码
}finally{
	//不管有没有发生异常,finally语句块都会被执行
}
  • try代码段包含可能产生例外的代码
  • try代码段后跟有一个或多个catch代码段
  • 每个catch代码段声明其能处理的一种特定类型的异常,进行捕获并提供处理的方法
  • 当异常发生时,程序会中止当前的流程,根据获取异常的类型去执行相应的catch代码段
  • 一个 try 后面可以跟多个 catch,但不管多少个, 最多只会有一个catch 块被执行。
  • catch捕获异常需要从小到大捕获(先子类再父类)
  • finally段的代码无论是否发生异常都有执行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值