Java 异常
2016-05-10 10:46
344 查看
Java异常基本记住几个规则就可以了,有些规则从来就没注意过:
1.关于Java异常 Throwable(所有错误和异常的超类) :error(错误) :exception(异常): 编译时异常 运行时异常 2.异常的处理: 1)try-catch语句 2)throw抛出异常 3.关于try catch语句 1)try内声明的变量,类似于局部变量,出了try{}语句,就不能被调用 2)finally语句是可选的 3)catch语句内部是对异常的处理 4)多个catch语句,从上到下进行匹配 5)如果异常被处理,其后的代码继续执行 6)异常并列,catch顺序随意 异常包含关系,先catch子类异常 7)finally内的代码一定会被执行,不管try,catch中是否有异常未处理,以及是否有return语句 注意: 如果try-catch中有throw或者return语句,会先执行finally语句,再执行throw或者return语句;这个 时候如果finally也有return,就会执行return,前面的throw和return就不会执行 8)try-catch是可以嵌套的 4.关于throw抛出异常 1)一般来说知道怎么处理的,用try-catch,不知道怎么处理用throw,可以throw方法产生的异常类型或者 是它的父类 2)抛出异常后,上层的方法也可以try-catch捕获异常,或者继续向上抛,直到给JVM 3)throw也有两种方法,一个是方法上抛出,一个是手动抛出 4)自定义异常类: A:自定义的异常类继承现有的异常类 B:提供一个序列号,提供几个重载的构造器 5)子类重写父类的方法,其抛出的异常类型只能是被重写的方法的异常类的子类或与之相同 原因如下: 例如在多态的时候,要捕获异常,我们不可能知道子类的方法中的异常种类,但是 如果它们是父类的子类,那么只要处理父类的异常即可; 例: A a1 = new B(); A a2 = new C(); try{ a1.method(); a2.method(); }catch(父类异常 e) { e.printStackTrace(); }大概就是这些
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树