Java学习—异常

异常

1、概述

异常就是Java在运行过程中出现的错误。

2、分类

在这里插入图片描述其中Error指的是程序中的错误,是无法被程序处理的,也就是我们不需要理会的,比如内存溢出问题,但是Exception就是我们需要解决的问题了

  • 运行时异常:

所有的RuntimeException类及其子类都是运行时异常。
例如:
在这里插入图片描述这种异常一般都是代码书写不当导致,修改一下应该就没事了。

  • 编译时异常

除了运行时异常以外的都是编译时异常,比如ParseException,这是Java程序必须显示处理的,否则程序就会出错,无法通过编译。

3、Jvm的处理
  • 把异常名称,错误原因,出现位置等信息输出在控制台。
  • 程序停止运行。
4、异常处理方案

1、获取异常 try…catch
(1)使用方式
在这里插入图片描述
注意:

一个try代码块至少要有一个catch或者finally,否则就会报错,但是catch可以用来处理异常,finally没有处理异常的能力。

finally代表不管异常是否发生,都会执行代码,除非写了System.exit,一般用来释放资源。

但是注意catch和finally没有try的情况不能使用。

2、抛出异常 throws

定义功能时,需要把出现的问题暴露出来让调用着去处理,就需要通过throws在方法标示出来。

例如:
public static void test() throws NullPointerException{}

3、throw

首先这并不是异常处理的方法,它是用来制造一个异常,一般根据需求去使用。

  • throw new Exception: 制造一个编译时异常,且必须被处理。
  • throw new RuntimeException:制造一个运行时异常
例如:
private static void test() throws Exception {

   throw new Exception("Test!!!!");

 }

4、throw和throws的区别

  1. throw用在方法体内,跟着异常对象名,但是throws用在方法声明后,跟的是异常类名。
  2. throw只能抛出一个异常对象名,throws可以跟多个异常类名,只要用,隔开
  3. throw表示抛出异常,有方法体内语句处理,throws表示抛出异常由方法调用者处理。
  4. 执行throw一定抛出了异常,但是throws表示一种可能性,不代表一定发生。
5、方法选择

如果后续程序需要继续运行,使用try…catch,但是后续程序不需要了就可以用throws。

6、注意

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值