突然想起应用中异常处理问题,以前很少应用这块知识,或者说应用得不好
看到一篇很好的文章,真的是能够从整体分析,架构,非常精彩,完全是有经验之谈
特发送连接地址
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.lang.Throwable`类。Throwable类有...
"面向企业应用的Java教学框架探索"这一主题旨在深入讲解如何利用Java技术栈构建高效、可维护的企业级应用程序。在这个主题中,我们将关注以下几个核心知识点: 1. **Java基础**:Java作为一门面向对象的语言,其...
《深入浅出Java》这本书以其独特的讲解方式,旨在让学习者轻松掌握复杂的Java编程...通过学习,你将能够编写出高效、可靠的Java应用程序,并且为未来深入学习Java EE、Android开发或其他Java相关的技术打下坚实基础。
Java编程语言是面向对象的、跨平台的编程语言,尤其在企业级应用开发中占据着主导地位。...在这个过程中,不断探索和理解Java的标准库,如Collections框架、I/O流和反射机制,也将对提升编程技能大有裨益。
总之,"基于Bytebuddy的Java Agent AOP框架"项目为我们提供了一个探索动态类型生成和AOP技术的实践平台。通过学习和实践,我们可以掌握如何使用ByteBuddy来创建高效、灵活的代理类,以及如何利用Java Agent实现字节...
学习Java的基础语法、类库和异常处理是掌握大数据处理的前提。 2. **大数据**:大数据是指海量、高增长速率和多样化的信息资源。它涉及到数据的采集、存储、处理和分析。Java在大数据领域中的应用包括MapReduce编程...
《深入理解Java 7》是一本专为Java开发者深度解析Java 7特性和技术的书籍。这本书涵盖了Java语言的关键更新,旨在帮助读者更好地理解和利用Java 7的新...《深入理解Java 7》这本书无疑是你探索这个版本Java的绝佳指南。
同时,异常处理、集合框架(如List、Set、Map接口及其实现类)以及IO流也是基础学习的重要部分。 2. **JavaWEB**: JavaWEB开发主要涉及Servlet、JSP、过滤器、监听器等技术。Servlet用于处理HTTP请求,JSP则用于...
Java是一种广泛使用的面向对象的编程语言,以其跨平台性、高效性和灵活性著称。这份"Java学习资料"包含了从基础到进阶的关键知识点,对于Java初学者来说是极好的参考资料。 首先,我们要讨论的是Java的基本语法。...
总之,掌握Struts框架对于Java Web开发者来说至关重要,它能帮助你构建高效、稳定的Web应用,并为后续学习更复杂的框架如Spring MVC打下坚实基础。不断实践和探索,你将成为一名熟练驾驭Struts框架的开发者。
第二次和后续的实习可能逐渐深入到面向对象编程、异常处理、集合框架、多线程、IO流等高级主题。 "java第二次实习"可能详细介绍了类与对象的概念,以及如何利用继承、封装和多态性进行设计。"java第五次"可能涉及了...
《Java深度历险》这本书是Java开发者的一本宝藏读物,它旨在引领读者深入探索Java的世界,提升对Java编程的全面理解和应用能力。书中的内容覆盖了Java开发、框架使用以及入门到精通的全过程,适合各个层次的Java学习...
不断地练习和探索,你将成为一名熟练的Java开发者,能够开发出高效、稳定且具有扩展性的软件系统。在学习的过程中,不断查阅文档、参与开源项目、与社区交流,都能加速你的成长。祝你在Java的世界里一帆风顺!
- 探索并掌握集合框架,如List、Set、Map等,以及它们的泛型使用。 - 研究异常处理机制,理解如何捕获和处理程序中的错误。 - 熟悉I/O流的概念,了解NIO.2的新特性,提高文件操作和网络通信的效率。 - 学习多线程...
Java的异常处理机制保证了程序在遇到错误时能有序地处理,而Java Foundation Classes(JFC)提供了丰富的系统级服务,如集合框架、反射和国际化支持。 Java的发展历程中,从早期的Oak语言,经过Java 1.2、1.3、1.4...
在这个过程中,J2SE(Java Standard Edition)是基础,提供了Java语言的核心功能,包括面向对象编程、异常处理、集合框架、多线程等核心概念。J2SE的学习是理解和掌握Java编程思想的关键。 在J2SE的基础上,Java ...
6. **集合框架**:Java集合框架是处理对象集合的接口和类的集合,如ArrayList、LinkedList、HashMap等,它们提供了存储、检索和操作数据的高效方式。 7. **输入/输出流**:Java的I/O流系统用于读写数据,包括文件...
这篇博客“[原]Struts2-深入探索”可能是对Struts2框架的深度剖析,涵盖了其核心概念、配置、拦截器、结果类型等关键组件。 首先,Struts2的核心概念包括Action和Result。Action是业务逻辑的载体,它负责处理用户...
### Java程序设计要点详解 Java作为一种广泛使用的...而对于进阶者,则应深入探索Java的各种高级特性和API,以提升自己的开发技能和项目经验。无论是在企业级应用还是个人项目中,熟练掌握Java都将是一笔宝贵的财富。