Java异常处理学习笔记


异常的分类:
1. 编译时被检测异常:只要Exception和其子类都是,除了特殊子类RuntimeException体系。
这种问题一旦出现,希望在编译时就进行检测,让这种问题有对应的处理方式。
2. 编译时不检测异常(运行时异常):就是Exception中的RuntimeException和其子类。
这种问题的发生,无法让功能继续,运算无法进行,更多是因为调用者的原因导致的而活着引发了内部状态的改变导致的。
那么这种问题一般不处理,直接编译通多,在运行时,让调用者调用时程序强制停止,让调用者对代码进行修正。
异常处理的原则:
1. 函数内容如果抛出需要检测的异常,那么函数上必须要声明
否则必须在函数内用try catch 捕捉,否则编译失败。
2. 如果调用到了声明异常的函数,要么try catch 要么throws ,否则编译失败。
3. 什么时候catch ,什么时候throw?
    功能内容可以解决,用catch
解决不了,用throws告诉调用者,有调用者解决。
4. 一个功能如果跑出了多个异常,那么调用时,必须有对应多个catch进行针对性的处理。
内部有几个需要检测的异常,就抛几个异常,抛出几个,就catch几个。

异常注意事项:
1. 子类在覆盖父类方法时,父类的方法如果跑出了异常,那么子类的方法只能抛出父类的异常或者该异常的子类。
2. 如果弗雷抛出多个异常,那么子类只能抛出弗雷异常的子集
简单说:
子类覆盖父类只能抛出父类的异常或者子类或者子集

如果父类的方法没有抛出异常,那么子类覆盖时绝对不能抛

内部类访问特点:
1.内部类可直接访问外部类中的成员。
2.外部类要访问内部类,必须建立内部类的对象。
3.如果内部类定义有静态成员或函数,内部类必须为静态。




猜你喜欢

转载自blog.csdn.net/nielinqi520/article/details/79321285
今日推荐