Java 异常处理

java异常

异常:Exception(例外):程序在运行过程中出现的不正常现象
不正常:
(1)编译阶段,程序报错-修改代码
(2)运行阶段,程序报错-处理异常-比较严重
练习:输入一个整数,打印这个数的平方
如何解决此问题?今天讲解的内容:异常处理

why(为什么要处理)

异常如果不进行处理,危害在:(1)程序异常停止;(2)得不到友好的提示

how(如何去处理)

如何进行异常处理?关键词
try:将可能出现异常的代码放在try中
catch:将异常出现后,需要处理的代码放在catch中

try中的代码是业务代码,如果没有异常,不执行catch
如果有异常,略过try中剩余代码,转而执行catch
执行完毕后,程序继续向下执行,不会终止。

几个额外问题

  1. Java中有哪些种类的异常呢?
    NumberFormatException:数值格式异常
    ArithmeticException:数学计算异常(比如除数为0)
    ArrayIndexOutOfBoundsException:数组越界异常
    NullPointerException:对象未分配内存异常
  2. try-catch配对问题
    一个try后面至少跟一个catch,可以跟多个catch,用来处理不同的异常。
  3. 异常处理有时候可以解决一些有趣的问题
    输入一个整数,打印这个数的平方;如果输入格式不对,反复出现输入框,直到输入格式正确,打印平方
  4. 和try、catch一起使用的还有一个关键词:finally
    finally代码块原理:finally加在catch后面,表示不管是否出现异常,都需要执行的代码
    try-catch之后,可以有finally,也可以没有finally
    打开文件
    处理文件
    关闭文件
    finally块,确保了程序的安全性。

疑问:finally块实际上是可有可无?不是!只要有try,不管try里面发生了循环跳出、函数返回等,配套的finally一定会执行!从底层确保了需要要执行的代码一定会执行(安全性)
异常处理三大词: try - catch -finally
1 1…N 0,1
*** ** *

关键词

异常处理另外两个关键词:throws、throw:抛出

原理

异常的原理:
try{ … } catch(Exception e){ … }
原理:try里面的代码,如果出现异常,系统底层将其包装成一个对象,抛出。被catch块捕获,赋值给参数e,并执行catch块

throw和throws的区别

1、throw:在函数中抛出一个实际的异常对象
2、throws:在函数定义上标记该函数可能抛出异常
3、标记了throws的函数,在调用时,原则上必须用try包围,并编写catch代码处理可能出现的异常(还有非原则情况),这叫做就地捕获;或者 将异常再次向前抛出
4、throws和throw一般用于自定义异常信息并要求从函数中返回的情况。为了不影响函数的正常返回,将自定义异常的信息用异常包装,throw抛出,函数用throws标记。
————————————————————
异常处理三大词: try - catch -finally
1 1…N 0,1
*** ** *
异常抛出两大词: throw throws
** *
异常处理使用场合更多。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值