JAVA会将所有的错误封装成为一个对象,其根本父类为Throwable。
Throwable有两个子类:Error和Exception。
一个Error对象表示一个程序错误,指的是底层的、低级的、不可恢复的严重错误。此时程序一定会退出,因为已经失去了运行所必须的物理环境。
对于Error错误我们无法进行处理,因为我们是通过程序来应对错误,可是程序已经退出了。
我们可以处理的Throwable对象中只有Exception对象(例外/异常)。
Exception有两个子类:Runtime exception(未检查异常)
非Runtime exception(已检查异常)
(注意:无论是未检查异常还是已检查异常在编译的时候都不会被发现,在编译的过程中检查的是程序的语法错误,而异常是一个运行时程序出错的概念。)
在Exception中,所有的非未检查异常都是已检查异常,没有另外的异常!!
未检查异常是因为程序员没有进行必要的检查,因为他的疏忽和错误而引起的异常。一定是属于虚拟机内部的异常(比如空指针)。
1 package TomText; 2 //测试对象间的赋值。 3 public class TomText_46 { 4 int i; 5 public static void main (String [ ] a){ 6 TomText_46 n1=new TomText_46( ); 7 TomText_46 n2=new TomText_46( ); 8 n1.i=9; 9 n2.i=47; 10 System.out.println("n1.i="+n1.i+" "+"n2.i="+n2.i); 11 n1=n2; 12 System.out.println("n1.i="+n1.i+" "+"n2.i="+n2.i); 13 n1.i=27; 14 System.out.println("n1.i="+n1.i+" "+"n2.i="+n2.i); 15 } 16 17 }