C / C++的和Java的异常机制[1]

发表于:2008-04-23来源:作者:点击数: 标签:javaJAVAJava机制
关键字:C / C++ Java 异常机制程序总会出现异常的,需要我们去处理。C++和JAVA都有自己异常机制,我们应该遵循着去处理异常。那它们的异常机制有何异同呢? 要注意一点:异常机制处理异常是要付出代价的,即异常处理的代码比无异常处理的要慢好多倍。 JAVA
关键字:C / C++ Java 异常机制程序总会出现异常的,需要我们去处理。C++和JAVA都有自己异常机制,我们应该遵循着去处理异常。那它们的异常机制有何异同呢? 

  要注意一点:异常机制处理异常是要付出代价的,即异常处理的代码比无异常处理的要慢好多倍。 
  JAVA的异常机制

  在面向对象的世界里,一切都是对象,JAVA的异常也不例外。API中异常类的“始祖”是 Throwable  类,有 Exception 类和 Error 类直接继承Throwable  。Error是很严重的,是不可挽救的,我们一般是通过继承Throwable  或Exception 来定义自己的异常类。

  先看看API(这里是从1.5摘抄的)里的两个异常类是怎样的?

 import  java.io.*;
 public class Throwable implements Serializable ...{
    /** *//** use serialVersionUID from JDK 1.0.2 for interoperability */
    private static final long serialVersionUID = -3042686055658047285L;

    /** *//**
     * Native code saves some indication of the stack backtrace in this slot.
     */
    private transient Object backtrace; 
    private String detailMessage;
    private Throwable cause = this;
    private StackTraceElement[] stackTrace;
    
    public Throwable() ...{
        fillInStackTrace();
    }

原文转自:http://www.ltesting.net