JAVA标准异常
来源:互联网 发布:幽浮2知乎 编辑:程序博客网 时间:2024/06/18 09:25
Throwable这个JAVA类被用来表示任何可以作为异常抛出的类。它分为两种类型:
1.Error:表示编译时和系统错误,除特殊情况外,我们不需要理会此异常。
2.Exception:可以被抛出的异常,在JAVA类库、用户方法及运行时故障中都可能抛出的异常,我们通常关心此异常。
异常的基本概念是用名称代表发生的问题,异常的名称应该做到望文知义,异常也并非都是在java.lang包中定义的,有些异常来自于util、net和io这样的包。
if(t == null)
throw new NullPointerException();
如果必须对传递给方法的每个引用都检查是否为Null,那么可以想象工作量将会异常的多。在JAVA中,这种异常属于JAVA的标准运行时检测的一部分。如果对null引用进行调用,JAVA会自动抛出NullPointerException异常,所以上述代码是多余的。
属于运行时异常的类型有很多,它们会自动被JAVA虚拟机抛出,所以不必在异常说明中罗列出来,这些异常都继承自RuntimeException类,使用起来很方便。它们构成了一组具有相同特征和行为的异常类型,也不需要在异常说明中声明方法抛出的异常,它们也被称为“不受检查异常”,这种异常属于错误,将被自动捕获,但是尽管不需要捕获RuntimeException异常,但仍然可以在代码中抛出这种类型的异常。看下面一段代码:
package access;public class NeverCaught {static void f(){throw new RuntimeException("From f()");}static void g(){f();}public static void main(String[] args) {// TODO Auto-generated method stubg();}}此程序的输出结果为:
编译器不需要异常说明,其输出报告给了System.err。如果RuntimeException没有被捕获而直达main函数,那么程序退出前将调用异常的printStackTrace方法。
只能在代码中忽略RuntimeException及其子类型的异常,其它类型的异常的处理都是由编译器强制执行的,RuntimeException代表的是编程错误:
1.无法预料的错误,比如从控制范围外传递来的null引用。
2.应该在代码中检查的错误,在一个地方发生的异常,常常会在另一个地方发生错误。
不应该把异常处理机制当做是单一的用途的工具,它被设计用来处理一些烦人的运行时错误,这些错误往往是由代码控制范围外的不确定因素导致的,但是它对于发现某些编译器无法检测到的编程错误也是很有帮助的。
- Java 标准异常
- JAVA标准异常
- java标准异常(转载)
- Java 编程思想12.7-Java标准异常
- java炒冷饭系列07 java标准异常
- Java 流异常的标准处理
- JAVA异常的标准层次结构
- java处理异常的标准格式
- 标准异常
- 标准异常
- 标准异常
- Java 流异常的标准处理(转载)
- 标准C++异常处理
- 异常处理标准
- 异常事件标准格式
- Python标准异常
- C++标准异常类
- C++标准异常类
- 【STL】codeforces 818D Multicolored Cars
- HDU 1848[Fibonacci again and again] 题解
- HDU 3264 Open-air shopping malls
- C# 使用 itextsharp 对pdf文件进行分割的几种方法(1)——按页码拷贝分割
- 设计模式:单例模式-懒汉模型和饿汉模型
- JAVA标准异常
- Java选择排序算法
- iOS WebView加载url缓存问题
- bugku 你必须让他停下
- 【spark】spark之shuffle调优
- GHGL项目总结-spring+mybatis多数据库源
- linux下使用 du查看某个文件或目录占用磁盘空间的大小
- 用Kotlin写第一个Android程序
- Python数据工具箱:数据库连接库