`

深入探索 高效的Java异常处理框架

阅读更多
突然想起应用中异常处理问题,以前很少应用这块知识,或者说应用得不好
看到一篇很好的文章,真的是能够从整体分析,架构,非常精彩,完全是有经验之谈
特发送连接地址
http://blog.csdn.net/huxin1/archive/2009/07/30/4395121.aspx
同时为了便于理解文中对运行时异常(也称为非检查型异常 unchecked exception)在应用程序的使用,特发一个实际例子来说明自定义运行时异常的方式和优越点,相比非运行时异常(也称为检查异常 checked exception)一定要申明和捕获带来程序编码上的“灾难”的缺点。

package com.fruitking.caipiao;

public class TestException {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		TestException test = new TestException();
		try{
			test.read();
		}catch(DaoException e){
			e.printStackTrace();
		}
		try{
			test.write();
		}catch(AppException e){
			e.printStackTrace();
		}
		try{
			test.rewrite();
		}catch(AppException e){
			e.printStackTrace();
		}
		test.write();
		test.rewrite();//这句没有执行到,能理解么?
	}
		
	public void read()throws DaoException{//检查型异常
		System.out.println();
		System.out.println("this is a checked exception!");
		throw new DaoException("出错啦");
	}
	
	public void write(){//不检查型异常
		System.out.println();
		System.out.println("this is a unchecked exception!");
		throw new AppException("也出错啦");
	}
	
	public void rewrite(){//不检查型异常
		System.out.println();
		System.out.println("this is a unchecked exception too!");
		write();
	}

}

class DaoException extends Exception{
	
	public DaoException(){
		super();
	}
	
	public DaoException(String message){
		super(message);
	}
	public DaoException(Throwable throwable){
		super(throwable);
	}
	public DaoException(String message,Throwable throwable){
		super(message, throwable);
	}
}

class AppException extends RuntimeException{
	
	public AppException(){
		super();
	}
	
	public AppException(String message){
		super(message);
	}
	public AppException(Throwable throwable){
		super(throwable);
	}
	public AppException(String message,Throwable throwable){
		super(message, throwable);
	}
}

分享到:
评论

相关推荐

    深入探索高效的Java异常处理框架

    本文深入探讨了高效Java异常处理框架,旨在提高代码的健壮性和稳定性。首先,文章介绍了异常的基本概念和Java异常体系结构。 Java将异常视为对象来处理,所有的异常都继承自`java.lang.Throwable`类。Throwable类有...

    面向企业应用的Java教学框架探索.zip

    "面向企业应用的Java教学框架探索"这一主题旨在深入讲解如何利用Java技术栈构建高效、可维护的企业级应用程序。在这个主题中,我们将关注以下几个核心知识点: 1. **Java基础**:Java作为一门面向对象的语言,其...

    深入浅出java

    《深入浅出Java》这本书以其独特的讲解方式,旨在让学习者轻松掌握复杂的Java编程...通过学习,你将能够编写出高效、可靠的Java应用程序,并且为未来深入学习Java EE、Android开发或其他Java相关的技术打下坚实基础。

    Java基础学习/高级类/异常处理/线程

    Java编程语言是面向对象的、跨平台的编程语言,尤其在企业级应用开发中占据着主导地位。...在这个过程中,不断探索和理解Java的标准库,如Collections框架、I/O流和反射机制,也将对提升编程技能大有裨益。

    基于Bytebuddy的Java Agent AOP框架.zip

    总之,"基于Bytebuddy的Java Agent AOP框架"项目为我们提供了一个探索动态类型生成和AOP技术的实践平台。通过学习和实践,我们可以掌握如何使用ByteBuddy来创建高效、灵活的代理类,以及如何利用Java Agent实现字节...

    java 大数据处理 入门

    学习Java的基础语法、类库和异常处理是掌握大数据处理的前提。 2. **大数据**:大数据是指海量、高增长速率和多样化的信息资源。它涉及到数据的采集、存储、处理和分析。Java在大数据领域中的应用包括MapReduce编程...

    深入理解Java7.pdf

    《深入理解Java 7》是一本专为Java开发者深度解析Java 7特性和技术的书籍。这本书涵盖了Java语言的关键更新,旨在帮助读者更好地理解和利用Java 7的新...《深入理解Java 7》这本书无疑是你探索这个版本Java的绝佳指南。

    本仓库包含Java学习笔记和大数据学习笔记,主要包含Java基础、JavaWEB、Java框架、大数据主要框架。主.zip

    同时,异常处理、集合框架(如List、Set、Map接口及其实现类)以及IO流也是基础学习的重要部分。 2. **JavaWEB**: JavaWEB开发主要涉及Servlet、JSP、过滤器、监听器等技术。Servlet用于处理HTTP请求,JSP则用于...

    Java学习资料(内含基本语法、异常处理、Applet编程、GUI、线程、输入输出流等)

    Java是一种广泛使用的面向对象的编程语言,以其跨平台性、高效性和灵活性著称。这份"Java学习资料"包含了从基础到进阶的关键知识点,对于Java初学者来说是极好的参考资料。 首先,我们要讨论的是Java的基本语法。...

    基于Java的struts框架教程

    总之,掌握Struts框架对于Java Web开发者来说至关重要,它能帮助你构建高效、稳定的Web应用,并为后续学习更复杂的框架如Spring MVC打下坚实基础。不断实践和探索,你将成为一名熟练驾驭Struts框架的开发者。

    西农java实习报告,并且有代码

    第二次和后续的实习可能逐渐深入到面向对象编程、异常处理、集合框架、多线程、IO流等高级主题。 "java第二次实习"可能详细介绍了类与对象的概念,以及如何利用继承、封装和多态性进行设计。"java第五次"可能涉及了...

    java深度历险

    《Java深度历险》这本书是Java开发者的一本宝藏读物,它旨在引领读者深入探索Java的世界,提升对Java编程的全面理解和应用能力。书中的内容覆盖了Java开发、框架使用以及入门到精通的全过程,适合各个层次的Java学习...

    java学习从入门到深入的经典书籍,Head+First+Java,think+in+java

    不断地练习和探索,你将成为一名熟练的Java开发者,能够开发出高效、稳定且具有扩展性的软件系统。在学习的过程中,不断查阅文档、参与开源项目、与社区交流,都能加速你的成长。祝你在Java的世界里一帆风顺!

    JAVA 1.6中文JDK 适合初学者使用 高效 简单

    - 探索并掌握集合框架,如List、Set、Map等,以及它们的泛型使用。 - 研究异常处理机制,理解如何捕获和处理程序中的错误。 - 熟悉I/O流的概念,了解NIO.2的新特性,提高文件操作和网络通信的效率。 - 学习多线程...

    java学习经验总结

    在这个过程中,J2SE(Java Standard Edition)是基础,提供了Java语言的核心功能,包括面向对象编程、异常处理、集合框架、多线程等核心概念。J2SE的学习是理解和掌握Java编程思想的关键。 在J2SE的基础上,Java ...

    北大青鸟java基础ppt

    6. **集合框架**:Java集合框架是处理对象集合的接口和类的集合,如ArrayList、LinkedList、HashMap等,它们提供了存储、检索和操作数据的高效方式。 7. **输入/输出流**:Java的I/O流系统用于读写数据,包括文件...

    [原]Struts2-深入探索

    这篇博客“[原]Struts2-深入探索”可能是对Struts2框架的深度剖析,涵盖了其核心概念、配置、拦截器、结果类型等关键组件。 首先,Struts2的核心概念包括Action和Result。Action是业务逻辑的载体,它负责处理用户...

    java程序设计要点

    ### Java程序设计要点详解 Java作为一种广泛使用的...而对于进阶者,则应深入探索Java的各种高级特性和API,以提升自己的开发技能和项目经验。无论是在企业级应用还是个人项目中,熟练掌握Java都将是一笔宝贵的财富。

    一个完全基于java 实现的,长得有点像netty的aio网络框架

    《构建Java AIO网络框架:探索 Getty 框架与 Netty 的相似之处》 在IT行业中,网络框架是构建高性能、高并发服务器应用的重要工具。Netty作为一款广泛使用的异步事件驱动的网络应用程序框架,深受开发者喜爱。然而...

Global site tag (gtag.js) - Google Analytics