java 异常的使用_Java 当中的异常使用

今天给大家讲一讲Java当中的异常。说到异常,其实并不陌生,我们之前在讲debug的时候,曾经有过提及。当我们的程序遇到问题的时候,就会出现异常。不被处理的异常会被输出在屏幕上,相信大家也都见过了,就像这样:

2548a2810beeb49e10e30195e461884f.png

我们都知道,如果程序运行遇到异常,程序就会中断,并且把异常信息输出在屏幕上。但是并不是所有的时候都允许程序crush的,打个比方说,ATM取钱的系统,要求用户输入的是整百的金额,但并不是所有用户都会按部就班输入整百的数字,一定会有错误的情况。如果一发生错误系统就崩溃,那ATM就用不了了,显然这是不能被接受的,这个时候就需要我们对异常进行处理。

try catch

我们可以用try catch操作对异常进行捕获。这里关于异常的捕获、抛出不太好理解,其实很简单。

try语句就像是保险,在保险内执行的代码,即使代码出错了,会被保险hold住,而不会引起整个程序的崩溃。而这个会引起程序崩溃的错误会被保险捉住,让程序员可以得知究竟是什么错误。

写成代码大约是这样:

try {

...

}catch(Exception e) {

...

}

Exception是一个异常的基类,基类是面向对象当中的术语,我们还没有讲到相关知识,可以简单地理解成比较笼统的类别。就比方说如果狗是一个基类的话,狗往下细分会有很多品种,比如斗牛犬、雪橇犬、田园犬等等。同样异常也是一样,总的叫做异常,异常往下还有很多细分,比如空指针的异常:NullPointerException, 数组越界的异常: ArrayIndexOutOfBoundsException 等等。

所以整个流程就是,在try中执行可能会出错的代码,如果执行的过程中出错了,那么就会进入到catch包括的代码块中。

我们来尝试一波:

81da2b8cf62cb9702b7207b56486a690.png

可以看见,程序成功地执行了,没有任何异常信息,并且catch当中的代码被执行了,说明在try的代码当中出现过错误。

你可能要问了,但是这样我还是不知道出现过哪些错误啊?

没关系,Exception当中集成了一些方法,可以让我排查问题。

getCause

可以获得出现异常的原因,比如刚才的场景当中是空指针导致的,我们输出异常的cause,发现屏幕上输出了null,说明是由空指针导致的。

94a4d46d4401bac23020a6ac77f668e8.png

printStackTrace

可以打印整个报错的堆栈,就像之前我们没有捕获异常之前那样:

9a4dac5a5853b3567319cbdc6c3cd225.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值