JAVA异常分析
来源:互联网 发布:网络犯罪种类 编辑:程序博客网 时间:2024/05/23 21:31
java异常体系可分为两大类:一是错误(Error);二是异常(Exception). 而异常也可分为运行时异常(非受检异常)和非运行时异常(受检异常);详情见下图:
JAVA异常处理的格式为:
try{
//可能出现异常的代码
}catch(异常的类型 变量){
//出现异常时执行的操作
}finally{
//异常的统一出口
}
publiuc void text(){、 int a = 5; int b = 0;try{ //当a除以b时,而除数不能为零,此时即会出现异常 int result = a/b; }catch(ArithmeticException e){ //此异常为数学异常,如除数不能为零 System.out.println("出现异常"); } catch(Exception e){ //一个try里可以拥有多个catch,但异常范围必须是从小到大,如此处Exception 为所有异常的父类,所必须写在后面 System.out.println("出现异常"); }System.out.println(result );}
运行时异常与非运行时异常:
1、运行时异常,catch中可以随意定义类型,程序运行时,会根据catch参数自动匹配。(如上述即为运行时异常)
2、非运行时异常,则catch中定义的异常,在try代码块中必须存在,如果没有类似异常存在,则不允许被定义。
finally用途:
异常的统一出口,不管是否产生异常,都必须执行其中的代码;finally中的代码必然执行,除非程序中途错误。
throw与throws用途:
1、Throws关键字主要在方法的声明上使用,表示方法中不处理异常,二交给调用处处理。实际上对于java程序来讲, 如果没有加入任何的异常处理,默认有jvm进行异常的处理操作
2、Throw关键字表示在程序中手动抛出一个异常,因此从异常处理机制上看,所有的异常一旦产生后,实际上抛出的就是一个异常的实例化对象, name此对象也可以有throw直接抛出
注意:运行时异常,在程序中捕捉并throw后,方法中不一定要声明throws,而非运行时异常,在代码快中throw后,必须在方法中声明throws抛出异常
public class Priter{public static void main(String[] args) {try{ //而在此处则需扑捉异常,如果不扑捉,则会交给java虚拟机处理 Priter pr = new Priter(); pr.text();}catch(ArithmeticException e){ e.printStackTrace(); }}public void text() throws ArithmeticException{ //此处不扑捉异常,利用throws掏出异常 int a = 5; int b = 0; int result = a/b;System.out.println(result );}}
异常处理规则:
1.try语句不能单独存在,可以和catch、finally组成的try…catch、try…catch…finally、try…finally三种结构,catch语句可以有一个或者多个,但是try、catch、finally不能单独存在
2.try、catch、finally三个代码块中的语句变量独立存在,不能相互访问
- java异常机制分析
- java 异常处理分析
- java异常分析
- java 中异常分析
- java异常机制分析
- Java异常分析
- Java ConcurrentModificationException异常分析
- Java异常分析
- JAVA异常分析
- Java异常情况分析
- java异常情况分析
- java异常分析
- Java 异常分析
- JAVA异常分析总结
- Java OOM 异常分析
- java异常机制分析
- Java异常机制及异常处理分析
- java异常机制简要分析
- Android基础入门教程——8.2.1 Bitmap(位图)详解
- tomcat 性能优化
- 蓝懿iOS 技术内容和心得 10。13
- UFT录制与脚本编辑
- 图的遍历之广度优先搜索
- JAVA异常分析
- UICollectionView基础
- MARKDOWN使用小计
- TW Assignment的代码实现
- VC经典代码(二)
- 关于javascript的this
- 开学之后的总结和反思
- fork, vfork, clone, exec的区别
- hadoop2.6+ zookeeper3.4.6搭建