狂神说--javase07--异常

学一下,java的异常吧。。。。

异常需要掌握的几个点哈

  • 什么是异常
  • 异常体系结构
  • java异常处理机制,如何处理异常
  • 怎么自定义异常

什么是异常

异常:

异常是指程序运行过程中遇到的各种问题:比如文件找不到、用户输入错误等等,这些异常导致程序崩溃。

因此我们要学会如何处理异常

异常的分类:

  • 编译时异常:程序员预见不了,捕获即可。
  • 运行时异常:程序员可以预见,必须避免,作为程序员一定要避免运行时异常,很丢人的。程序员重点关注
  • 错误:不受程序员控制的,错误一般都是虚拟机层面的错误,jvm处理

 

Throwable类有两个直接子类:

(1)Exception:出现的问题是可以被捕获的

(2)Error:系统错误,通常由JVM处理

被捕获的异常分类:

(1)Check异常: 派生自Exception的异常类,必须被捕获或再次声明抛出。是程序员不可遇预见的,用用户导致的异常。

(2)Runtime异常:派生自RuntimeException的异常类。使用throw语句可以随时抛出这种异常对象 throw new ArithmeticException(…);。程序员是可以预见的,程序本身错误导致的异常,必须避免。

异常体系结构

对于错误error,我在开发时基本都碰不到,除非哪天你的程序栈溢出了或者是内存溢出了。

对于异常,编译时异常我们通常只要捕获就可以了,运行时异常必须在程序上线前避免,运行时异常不能容忍。平时程序员遇到最多的都是运行时异常。

  • error:error类对象是由jvm虚拟机生成并抛出,比如内存溢出、栈溢出。当出现error异常时,一般虚拟机都会终止线程的运行。程序原不可预见,交给虚拟机管
  • 编译时异常:由程序员抛出,并且程序中必须捕获这些异常。程序原不可预见,是必须捕获的异常
  • 运行时异常:运行时异常一般都是由程序的逻辑错误导致的,程序员必须避免这些错误的发生。程序员可预见,是必须避免的异常

如何处理异常

捕获异常:try{}catch(){}

将有可能出现异常的代码放在try{}中,catch()用来捕获异常(可以有多个catch块),finally{}可以不写(无论异常出不出现,都会执行finally)。

ctrl+alt+T:选中对应的代码块,可以自动帮助我们来选择对应的块。我感觉java实在是太好了,解决了程序员的双手

抛出异常:throws throw。编译时异常或者运行时异常可以手动抛出。

如何自定义异常

自定义异常。在实际开发中,很常用。

一般实现自定义异常都是,定义一个抽象类继承Exception类,然后其他自定义异常类继承抽象类

一般实现自定义异常,只需要在里面定义一些属性和方法。属性包含:自定义异常的msg属性。方法包含:自定义异常构造函数(方便throw new)、

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值