C / C++的和Java的异常机制[1]
来源:不详 责任编辑:admin 发表时间:2013-07-01 10:14 点击:次
关键字: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();
}
要注意一点:异常机制处理异常是要付出代价的,即异常处理的代码比无异常处理的要慢好多倍。
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();
}
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 进入详细评论页>>
今日头条
更多>>您可能感兴趣的文章
- Asp.net MVC源码分析--Model Validation(Client端)实现(2)
- 谈.Net委托与线程——创建无阻塞的异步调用(一
- asp.net js模拟Button点击事件
- winform下通过webclient使用非流方式上传(post)数据和
- 微软ASP.NET站点部署指南(11):部署SQL Server数据
- asp.net 六大内置对象(2)
- MVC中一个表单实现多个提交按钮(一个action搞定
- ASP.NET数据格式的Format--DataFormatString
- Pro ASP.NET MVC 3 Framework学习笔记之九
- 教你如何来恢复一个丢失的数据文件