java 标准异常

一.Throwable这个Java类被用来表示任何可以作为异常被抛出的类.Throwable对象可分为两种类型(从Throwable继承而得到的类型):

1.) Error用来表示编译时和系统错误

2.) Exception是可以被抛出的基本类型(程序员关系的通常是Exception

二.特例RuntimeException

1.) 属于运行时异常的类型有很多,它们会自动被Java虚拟机抛出,这些异常都是从RuntimeException中继承而来的.

2.) RuntimeException是 "不受检查异常" ,这种异常属于错误,将被自动捕获.

3.) RuntimeException异常也许会穿越所有的执行路径知道main()方法,而捕获被捕获,如果RuntimeException没有被捕获而直达main(),那么在程序退出前将调用printStackTrace()方法

4.) 只能在代码中忽略RuntimeException(及其子类)类型的异常,其他类型的异常处理都是由编译器强制实施的

 5.)RuntimeException代表的是编程错误:

  • 无法预料的错误.比如你从控制范围之外传递进来的null引用.
  • 作为程序员,应该在代码中进行检查的错误.在一个地方放生异常,常常在另一个地方导致错误.
package exceptions;
//: exceptions/NeverCaught.java
// Ignoring RuntimeExceptions.
// {ThrowsException}

public class NeverCaught {
  static void f() {
    throw new RuntimeException("From f()"); //不用try块捕获,编译器自动捕获
  }
  static void g() {
    f();
  }
  public static void main(String[] args) {
    g();
  }
} ///:~

 

posted @ 2019-01-21 12:18  江期玉  阅读(282)  评论(0编辑  收藏  举报