一个java发生异常_Java异常处理

1.异常

是指在程序在运行过程中所发生的不正常事件,它会中断正字运行的程序;

异常处理:Java编程语言使用异常处理机制来为程序所发生的不正常事假提供错误处理的能力;

37fdf2cbac39c260e3f0779635afde35.png

Throwable:Java中所有异常的父类Throwable(可抛出);

Error(错误)和Exception(异常)是Throwable的两个重要子类;

Error(错误):是程序代码无法处理的机制,大多是是Java运行时系统内部错误,应用程序不会抛出此类对象;

Exception(异常):是程序代码本身可以处理的异常,对异常处理以后代码不会终止运行;

运行异常:都是RuntimeException类及其子类,如NullPointerException(空指针异常),IndexOutOfBoundsException(数组下标越界异常)

该异常的特点是:Java并不会检查此类异常,就算没有捕捉处理(try catch )和抛出异常处理(throw),编译依旧会通过;

非运行异常(编译异常):是RuntimeException以外的异常,类型上都属于Exception类及其子类。这是必须要处理的异常,如果不处理无法通过编译,比如一

些强制异常,线程中的异常处理、IO流中的异常处理。

2.异常处理的5个关键字

(1)try   执行可能发生异常的语句或者代码块;

①:必须在try之后添加catch或finally块,至少有一个块;

②:遵循顺序:若代码同时运行catch和finally块,catch块必须在try后面;

③:catch块以相应的异常类的类型相关;

(2)catch  捕获异常

306065f0d800431b6daa99674b726107.png

(3)finally  无论代码是否出现异常,finally后的代码块总会执行,除非遇到exit()方法;

当程序中有return的时候,先执行finally的内容,再去执行return的内容;

dd54b8c919770096fa3f91d20d8e59d7.png

(3)throws  用于方法声明是抛出异常

在程序中可能出现的异常,我们在方法名后声明,但是这样并没有真正的处理,只是将异常抛给了调用者去处理,如果调用者不处理话依然会出现异

常,除非使用try-catch;

(4) throw 抛出异常

如果程序代码try catch处理不了某种异常(比如异常并不是该代码块产生,只有抛出)、不知道如何处理该异常、不想try catch,都可以使用抛出。但是,

只要程序不停的调用这个方法,就要不停的抛出。

13367e76dbd146c12656bf0161bf687e.png

3.自定义异常

(1).通过继承Exception类声明自己的异常类

(2)在方法适当的位置,生成自定义异常的实例,并用throw抛出

(3)在方法声明部分用throws语句声明该方法可能抛出异常

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值