Java中的异常和错误

Java中异常分为两大类:

  1. Error(错误)
  2. Exception(异常)
    - RuntimeException(运行时异常,非检查时异常)
    - 非运行时异常(编译时异常,检查时异常)

相同点:Error和Exception都继承自java.lang.Throwable

Error

程序无法处理的错误,对于普通的开发人员来说是很难处理的。恢复不是不可能但很困难,比如内存溢出,线程死锁等

异常

程序在编译或运行时出现的问题就称为异常,他是jvm给你报信的一种方式,通过这个方式,jvm想让你知道,你犯错了,给你一个机会你可以去改正他。所以说异常是可以被开发人员处理的。

运行时异常

运行时异常就是我们写代码的时候它不提醒我们有问题,等到运行的时候它又来找毛病,告诉你这块不行,要改。
因为运行时异常idea并不会给你提示,所以如果你能够发现这种隐藏的危险,可以选择处理或不处理。处理方式是: 一个try后面可以跟多个catch,但不管多少个,最多只会有一个catch块被执行。
常见的几个运行时异常有:NullPointerException,ArrayIndexOutOfBoundsException,ArithmeticException,ClassCastException(对象强制转换)

@Test
    public void test(){
        int a = 1/0;
    System.out.println(a);
}

//算数运行时异常java.lang.ArithmeticException: / by zero

检查时异常

检查时异常就是我们在写代码的时候,idea给你报小红杠,让你try catch用或者throws声明继续抛给上层调用方法处理,必须处理,不处理就不让你运行。
处理方法有两种:
1.使用try…catch…finally进行捕获
2.在产生异常的方法声明后面写上throws 某一个Exception类型,如throws Exception,将异常抛出到外面一层去。
常见的检查时异常有:IOException,sqlException
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值