摘要: 一篇不错的讲解Java异常的文章六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter out = ... 2 java.sql.Connection conn = ... 3 try { // ⑸ 4 Statement stat = conn.createStatement(); 5 ResultSet rs = stat.executeQuery( 6 "select uid, name from user"); 7 whil 阅读全文
posted @ 2012-09-23 20:55 曾先森在努力 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 本文从Java异常最基本的概念、语法开始讲述了Java异常处理的基本知识,分析了Java异常体系结构,对比Spring的异常处理框 架,阐述了异常处理的基本原则。并且作者提出了自己处理一个大型应用系统异常的思想,并通过设计一个异常处理的框架来论述此思想。 一、 异常的概念和Java异常体系结构 异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架,是Java语言健壮性的一个重要体现。 Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中已经定义了许多异常类,这些异常类分为两大类, 阅读全文
posted @ 2012-09-23 20:41 曾先森在努力 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 异常机制已经成为判断一门编程语言是否成熟的标准,异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。 Java异常机制主要依赖于try、catch、finally、throw、throws五个关键字。 1.try:它里面放置可能引发异常的代码 2.catch:后面对应异常类型和一个代码块,用于表明该catch块用于处理这种类型的代码块,可以有多个catch块。 3.finally:主要用于回收在try块里打开的物力资源(如数据库连接、网络连接和磁盘文件),异常机制总是保证finally块总是被执行。只有finally块,执行完成之后,才会回来执行try或 阅读全文
posted @ 2012-09-23 20:39 曾先森在努力 阅读(5425) 评论(2) 推荐(5) 编辑
摘要: 1. java.lang.NullPointerException(空指针异常) 调用了未经初始化的对象或者是不存在的对象经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)。2. java.lang.ClassNotFoundException 指定的类不存在这里主要考虑一下类的名称和路径是否正确即可,通常都是程序试图通过字符串来加载某个类时可.. 阅读全文
posted @ 2012-09-23 17:17 曾先森在努力 阅读(792) 评论(0) 推荐(0) 编辑
摘要: Java正则表达式在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用java.util.regex包。 可粗略估计一下,除了偶尔用Linux的外,其他Linu x用户都会遇到正则表达式。正则表达式是个极端强大工具,而且在字符串模式-匹配和字符串模式-替换方面富有弹性。在Unix世界里,正则表达式几乎没有什么限制,可肯定的是,它应用非常之广泛。 正则表达式的引擎已被许多普通的Unix工具所实现,包括grep,awk,vi和Emacs等。此外,许多使用比较广泛的脚本语言也支持正则表达式,比如Python,Tcl,JavaScript,以.. 阅读全文
posted @ 2012-09-23 11:07 曾先森在努力 阅读(584) 评论(0) 推荐(0) 编辑
摘要: Java编程语言是第一个设计成为全面支持国际化的语言。从一开始,它就具备了进行有效的国际化所必须的一个重要特征:使用Unicode来处理所有字符串。支持Unicode使得在Java编程语言中,编写程序来操作多种语言的字符串变得异常方便。多数程序员认为进行国际哈需要做的事情就是支持Unicode并在用户接口中对消息进行翻译。然而在实际的开发中,国际化一个程序所需要做的绝不仅仅是提供Unicode支持,它还包括日期、时间、货币和数字等格式上的差异。 1. Locales: 需要依赖国际化的两个主要格式化类为NumberFormat和DateFormat,它们在通过工厂方法获取其实现子类时,都会依. 阅读全文
posted @ 2012-09-23 10:54 曾先森在努力 阅读(380) 评论(0) 推荐(0) 编辑
摘要: Java国际化国际化英文单词为:Internationalization,又称I18N,I为因为单词的第一个字母,18为这个单词的长度,而N代表这个单词的最后一个字母。国际化又称本地化(Localization,L10N)。国际化相关的Java类Java国际化主要通过如下3个类完成java.util.ResourceBundle:用于加载一个资源包java.util.Locale:对应一个特定的国家/区域、语言环境。java.text.MessageFormat:用于将消息格式化国际化资源文件为实现程序的国际化,必须提供程序所需要的资源文件。资源文件的内容由key-value对组成。资源文件的 阅读全文
posted @ 2012-09-23 10:53 曾先森在努力 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 如果想要接收任意长度的数据,而且避免乱码产生,就可以使用BufferedReader类public class BufferedReader extends Reader因为输入的数据有可能出现中文,所以,此处使用字符流完成。BufferedReader是从缓冲区之中读取内容,所有的输入的字节数据都将放在缓冲区之中。System.in本身表示的是InputStream(字节流),现在要求接收的是一个字符流,需要将字节流变成字符流才可以,所以要用InputStreamReader 1 import java.io.BufferedReader; 2 import java.io.IOExcept 阅读全文
posted @ 2012-09-23 10:45 曾先森在努力 阅读(479) 评论(0) 推荐(0) 编辑