Java的异常体系;常见的运行时异常和非运行时异常

Java的异常体系-保障程序的健壮性

  • Error是虚拟机内部错误
    常见:
    栈内存溢出错误:StackOverflowError(递归,递归层次太多或递归没有结束)
    堆内存溢出错误:OutOfMemoryError(堆创建了很多对象)

  • Exception是我们编写的程序错误
    RuntimeException:也称为LogicException
    为什么编译器不会要求你去try catch处理?本质是逻辑错误,比如空指针异常,这种问题是编 程逻辑不严谨造成的
    应该 通过完善我们的代码编程逻辑,来解决问题
    非RuntimeException编译器会要求我们try catch或者throws处理
    本质是客观因素造成的问题,比如FileNotFoundException写了一个程序,自动阅卷,需要读取答案的路径(用户录入),用户可能录入是一个错误的路径,所以我们要提前预案,写好发生异常之后的处理方式,这也是java程序健壮性的一种体现
    RunTimeException常常发生在程序运行过程中,会导致程序当前线程执行失败,不会影响服务的运行。CheckedException常常发生在程序编译过程中,会导致程序编译不通过。

在这里插入图片描述

常见的非运行时异常
IOException,
SQLException,
FileNotFoundException,
NoSuchFileException,
NoSuchMethodException,
InterruptedException 中断异常

常见的运行时异常
此类异常,编译时没有提示做异常处理,因此通常此类异常的正确理解应该是“逻辑错误”

空指针异常,
并发修改异常,
类型转换异常,
数组下标越界,
NumberFormateException 数字格式异常
NoSuchElementException 枚举中没有更多的元素
IllegalArgumentException 不合法的参数异常 如日期格式等
IllegalStateException 无效状态异常 如往队列中放超过队列长度的参数

程序抛异常,查看堆栈信息!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值