1.分为两类:
(1)error:java出现的严重问题,如:jvm系统内部异常。比如:StackOverflowError栈溢出和OutOfMemoryError堆溢出
(2)Exception:
|----编译时异常(checked)
|-----IOException
|------FileNotFoundException
|-----ClassNotFoundException
|----运行时异常(unchecked,RuntimeException)
|------NullPointerException
|------ArrayIndexOutOfBoundsException
|------ClassCastException
|------NumberFormatException
|------InputMismatchException
|------ArithmeticException
2.异常处理方式:
异常处理:抛抓模型
抛:程序正常执行过程中,在异常代码处生成对应的异常类对象,并抛出,且其后的代码都不再执行
抓:即异常处理方式
(1)try-catch-finally:真正将异常处理掉
(2)throws+异常类型:只是将异常抛给方法的调用者,并没有真正将异常处理掉
3.开发中如何选择使用一场处理方式
(1)若父类中被重写的方法中没有throws方式处理异常,则子类重写方法也不能使用throws,即若子类重写的方法中有异常,则必须使用try-catch-finally方式处理
(2)执行方法A中,先后又调用了另外几个方法且方法是递进关系执行的,则递进关系的方法使用throws处理,而执行的方法A使用try-catch-finally方式处理
4.异常对象的产生:(1)系统自动生成的异常对象(2)手动生成的异常对象,并抛出(throw)
5.自定义异常
(1)继承现有的结构:RuntimeException、Exception
(2)提供全局常量:serialVersionUID
(3)提供重载的构造器
异常
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生...
- 原文链接:blog.ouyangsihai.cn >> 你所需要的java异常的处理和设计及深入理解,看这篇就差不...