易截截图软件、单文件、免安装、纯绿色、仅160KB

深入java异常机制


转自www.bitsCN.com
摘要:本文从Java异常最基本的概念、语法开始讲述了Java异常处理的基本知识,分析了Java异常体系结构,对比Spring的异常处理框 架,阐述了异常处理的基本原则。并且作者提出了自己处理一个大型应用系统异常的思想,并通过设计一个异常处理的框架来论述此思想。
    
一、 异常的概念和Java异常体系结构
    异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架,是Java语言健壮性的一个重要体现。
    Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception。Java异常体系结构呈树状,其层次结构图如图 1所示:
图 1  Java异常体系结构   
Thorwable类所有异常和错误的超类,有两个子类Error和Exception,分别表示错误和异常。其中异常类Exception又分为 运行时异常(RuntimeException)和非运行时异常,这两种异常有很大的区别,也称之为不检查异常(Unchecked Exception)和检查异常(Checked Exception)。下面将详细讲述这些异常之间的区别与联系:
   
1、Error与Exception    Error是程序无法处理的错误,比如OutOfMemoryError、ThreadDeath等。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。 
    Exception是程序本身可以处理的异常,这种异常分两大类运行时异常和非运行时异常。程序中应当尽可能去处理这些异常。   
2、运行时异常和非运行时异常
    运行时异常都是RuntimeException类及其子类异常,如NullPointerException、 IndexOutOfBoundsException等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引 起的,程序应该从逻辑角度尽可能避免这类异常的发生。
    非运行时异常是RuntimeException以外的异常,类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常,如果不 处理,程序就不能编译通过。如IOException、SQLException等以及用户自定义的Exception异常,一般情况下不自定义检查异 常。
 
二、 异常的捕获和处理
    Java异常的捕获和处理是一个不容易


相关文档:

关于用Java程序实现8421码权限管理 第二部分

这两天做完了以前,CRM项目中,设计权限这快的代码,仅供大家学习参考。
本权限管理部分设计三部分:
第一部分 数据库部分
第二部分 权限类
第三部分 分配权限部分
第四部分 页面控制部分
在这里我主要设计后三部分原码:
权限类设计原码:
package com.qizhi.common;
/**
 * 全局常量
 * 
&nbs ......

关于用Java程序实现8421码权限管理 第三部分

分配页面Role_Right.jsp原码:
<%@ page language="java" isELIgnored="false" pageEncoding="GBK" errorPage="/inc/exception.jsp"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
 <title>角色分配权限</title>
 <!--列表--& ......

JAVA语言如何进行异常处理

关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
答:Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调 ......

java操作xml(sax,dom,jdom,dom4j)增删改查

最近在工作中,经常设计报表(ireport+jasperReport)反复和设计模板xml打交道,于是就有了写这篇文章的想法了。java操作xml主要是有四种方式:dom,sax,jdom,dom4j。这四种方式各有优缺点:(以下比较是来自网络)
1:DOM4J性能最好,连Sun的JAXM也在用DOM4J.目前许多开源项目中大量采用DOM4J,例如大名鼎鼎的Hibernate ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号