JAVA-Exception异常
来源:互联网 发布:冰川网络远征ol珍宝阁 编辑:程序博客网 时间:2024/06/10 02:59
java 一共分两个阶段,编译期,运行期。
Object-Throwable
Throwable是所有异常的根类,它有两个直接的子类,一个是Error(错误)(一般指比较严重的错误出现,比如系统崩溃等,不需要过多的关注)
另外的一个直接子类 Exception(异常)。
Exception异常分为两大类:
1:RuntimeException 运行时异常,,只有在运行的时候才会检测是否会发生异常。
比较常见的运行时异常
例如:NullPointException空指针异常 ArrayIndexOutOfBoundsException 数组越界的异常 数学异常等等。
运行时异常产生的原因:和程序员的水平有关系。一般不做任何的处理。只能提高自身的技术水平避免运行时异常的出现。
2:checked Exception 检查异常 编译期异常。
在jdk 提供的API 中,很多方法都会抛出编译期异常,当使用这些方法的时候,我们需要对编译期异常进行相应的处理
处理方式有两种:1:继续往外抛出 使用throws 关键字。2:使用try catch 进行捕获处理。建议大家使用第二种方式。
常用的:
try catch finally throw throws
1:如果一段代码中没有对异常进行任何的处理,一旦发生异常。会出现什么样的结果:异常被扔给jvm处理,并且程序被中断执行,在产生异常的代码处终止。后面代码全部不执行。
2:使用try-catch 包围的代码块,如果try 中产生异常,那么从产生异常处到try代码块结束处被跳过不执行。执行catch 代码块,然后执行 catch 后的代码块。
出现异常解决方式
1:自定义处理方式。一般是面向普通用户的。
2:打印堆栈信息 e.printStackTrace();//开发阶段,帮助程序员更好的定位错误,解决错误
try:可能出现异常的代码
catch:用来捕获异常
当try代码块中的代码产生异常的时候,catch 代码块会对该异常进行捕获(产生的异常对象,必须是catch 中参数异常类型的一个实例)。
try { result = a/b; System.out.println("hello world");} catch (Exception e) { e.printStackTrace();//打印堆栈信息}
finally :语法,放到catch 代码块后。
特点:不管try 或者catch 中是否产生异常,都会执行finally 中的代码。
如果说某些代码不管发生什么情况都必须保证执行,那么这些代码可以放到finally代码块中。
只有一种特殊情况,finally 不被执行,在执行finally 之前执行了System.exit(0);
finally不能单独出现。必须和try catch 代码块一起出现
throws 关键字使用方法:
在方法的参数列表后面 使用 throws 在throws 后面跟一种异常类型,或者几种异常类型,表示当前的方法在执行的时候有可能会抛出该种异常。
throw 用法:
throw 使用在方法体内,用于抛出一个异常对象。如果一个方法使用throw 关键字抛出一个异常对象。
那么该方法应该使用throws 关键字在方法的参数列表后
指明该方法可能会抛出该对象所对应的异常类型。
throw 关键字 如果抛出异常对象,那么throw 关键字总是出现在当前代码块的末尾。
throw 和throws 的区别:
1:使用位置不同:throws 使用在 方法的声明的末尾 参数列表后。 throw 在方法体内使用。
2:throw 后面跟异常对象 throws 后面跟异常的类型。
3:throw 后只能跟一个异常对象。 throws 后可以跟多个异常类型。
4:一个有s 一个没有s
- 【java 异常Exception 】 集
- Java 异常 Exception
- java 异常Exception 集
- 浅谈java异常[Exception]
- 浅谈java异常[Exception]
- 浅谈java异常[Exception]
- java异常处理Exception
- java异常Exception
- 浅谈java异常[Exception]
- 浅谈java异常[Exception]
- Java 异常Exception
- 浅谈java异常[Exception]
- 浅谈java异常[Exception]
- 浅谈java异常[Exception]
- 浅谈java异常[Exception]
- Java异常处理Exception
- JAVA 异常 exception
- java异常(Exception)
- 堆栈的顺序存储---顺序栈
- C中的lua二维表遍历
- JAVA-比较器
- Intel(R) Ethernet connection (2) I219-LM 设置抓取VLAN tag报文
- Java的oauth2.0 服务端与客户端的实现
- JAVA-Exception异常
- leetcode Plus One 加一
- 祖国生日之际,发生了一件大事!
- ubuntu14.04安装nexus
- JAVA-垃圾回收
- 基于快速排序的几种算法变型
- 堆积木
- Stanford parser入门1:单句中文句法分析
- Spark源码分析——Spark整体架构