Java异常类型及处理方式
一、异常分类
1.所有的异常都是从Throwable继承而来的,是所有异常的共同祖先。
2.Throwable有两个子类,Error和Exception。
① Error是错误,对于所有的编译时期的错误以及系统错误都是通过Error抛出的。这些错误表示故障发生于虚拟机自身、或者发生在虚拟机试图执行应用时,如Java虚拟机运行错误(Virtual MachineError)、类定义错误(NoClassDefFoundError)等。这些错误是不可查的,因为它们在应用程序的控制和处理能力之 外,而且绝大多数是程序运行时不允许出现的状况。对于设计合理的应用程序来说,即使确实发生了错误,本质上也不应该试图去处理它所引起的异常状况。在 Java中,错误通过Error的子类描述。
②Exception,是另外一个非常重要的异常子类。它规定的异常是程序本身可以处理的异常。异常可以分为编译时异常(RuntimeException)或者检查时异常(checked exception)。运行时异常可以抛出,也可以不抛,常见的运行时异常有classcastException、ArithmeticException、ArrayIndexOutOfBoundsException、NullpointerException,编译时异常也叫做检查时异常,常见的有FileNotFoundException、IOException、classNotFoundException、ParseException。
二、异常的处理
1.异常捕获(通过try…catch语句块处理来处理)
try { // 程序代码 }catch(ExceptionName e1) { //Catch 块 }
Catch 语句包含要捕获异常类型的声明。当保护代码块中发生一个异常时,try 后面的 catch 块就会被检查。
如果发生的异常包含在 catch 块中,异常会被传递到该 catch 块,这和传递一个参数到方法是一样。
2.异常抛出(通过throws/throw到上层再进行处理)
如果一个方法没有捕获到一个检查性异常,那么该方法必须使用 throws 关键字来声明。throws 关键字放在方法签名的尾部。也可以使用 throw 关键字抛出一个异常,无论它是新实例化的还是刚捕获到的。
3.finally关键字
finally 关键字用来创建在 try 代码块后面执行的代码块。
无论是否发生异常,finally 代码块中的代码总会被执行。
在 finally 代码块中,可以运行清理类型等收尾善后性质的语句。
- J2SE综合:JAVA异常处理方式的区别和分析
- java常用类解析七:java异常机制、异常栈、异常处理方式、异常链、异常丢失
- java中字节流、字符流的使用方法---3 IO流中异常的处理方式
- java常用类解析七:java异常机制、异常栈、异常处理方式、异常链、异常丢失
- Java的异常处理的方式
- Java 异常的处理方式--throws和try catch
- java 常见异常处理方式
- Java中基本数据类型的存储方式和相关内存的处理方式(java程序员必读经典)
- 趣说java处理异常的方式
- JAVA异常处理方式 try-catch-finally
- Java中同时输入字符串和int类型出错的处理方式
- 黑马程序员_JAVA中常见的异常以及处理方式(课堂笔记)
- 黑_马_程_序_员_Java异常处理方式之一的手动抛出
- Java IO异常的处理方式
- Java异常处理:错误信息trace方式显示
- Java框架整合中发生异常情况的处理方式
- Java_基础—try...catch的方式处理异常1
- Java字节流和字符流的区别 (方法区别 操作基本单元区别 操作方式区别 处理数据类型区别) 之个人总结
- Java基础-IO流、FlieWriter和IO异常的处理方式
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第1节 异常_7_try_catch_异常处理的第二种方式...