Java的异常究竟是怎么一回事

背景

异常天天见,本文主要围绕Java的异常体系和分类简单讲讲Java的异常。

一、异常体系

异常机制其实是帮助你找到程序中的问题,异常的父类是java.lang.Throwable

其下有两个子类:java.lang.Errorjava.lang.Exception,平常所说的异常指java.lang.Exception

Throwable体系:

  • Error:错误顾名思义,一般无法处理,只能事先规避,如JVM虚拟机栈溢出。

  • Exception:异常产生后,通过代码可以纠正处理,保证程序运行,例如文件不存在异常。
    Throwable中的常用方法:

  • public void printStackTrace():打印异常的详细信息。
    包含了异常的类型、异常的原因,还包括异常出现的位置,在开发和调试阶段,都得使用printStackTrace。

  • public String getMessage():获取发生异常的原因。
    提示给用户的时候,就提示错误原因。

二、异常分类

程序员平常说的异常就是指Exception,因为这类异常一旦出现,你就要对代码进行更正,修复程序。

异常(Exception)的分类

根据在编译时期还是运行时期分类如下,

  • 编译时期异常:受检异常,在编译时期就会检查,如果没有处理异常,则编译失败,如文件不存在异常。
  • 运行时期异常:运行时才会出现的异常,在编译时期无法发现,如大名鼎鼎的空指针异常。
    最后用一张图,直观地描述一下,

在这里插入图片描述

小结

1、异常本身不是语法层面的错误,它的本质是程序在执行过程中,出现非正常情况。

2、异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

全粘架构师

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

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

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

打赏作者

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

抵扣说明:

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

余额充值