欢迎来到天天文库
浏览记录
ID:34765433
大小:127.68 KB
页数:10页
时间:2019-03-10
《异常处理及日志log4j》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、异常处理及日志log4j1.1异常处理基本知识Java中异常处理程序中错误分类:语法错误、运行时错误、逻辑错误什么是异常:异常是指程序运行过程中出现的一些错误称为异常。Java提供了一系列用于处理异常的类,所有异常类的父类:java.lang.Exception;能够处理所有的运行时异常。Java中常用的异常类:Throwable——可以抛出的RuntimeException——系统异常(如内存溢出、磁盘已满等),一般无法修复FormatException——参数格式化异常(如将12.5转换成整数)IndexO
2、utOfException——数组下标越界异常NullPointerException——空指针异常(访问空对象)异常处理:为了提高程序运行的健壮性,在程序出现异常时需要处理,称异常捕捉。1.捕捉异常,如何捕捉异常?捕捉异常使用try…catch语句块:语法:try{//可能引发异常的程序代码}catch(异常类ex)–注意可以使用多个catch语句块{//处理异常的代码}finally{//最终执行代码(始终执行)}示例:演示除数为0的异常捕捉Try/catch*/finally?Try/catch*Try/
3、catch*/finally?Try/finally?2.自定义异常、抛出异常在用户在输入数据违反逻辑约束的时候需要抛出异常信息时,可以采用自定义异常。(例如:年龄为负数)自定义异常Publicclass类名extendsException{Public构造方法(stringmessage):base(message){}}抛出异常throw异常名;示例:演示年龄无效异常(“年龄18-30之间”)声明某个方法可能抛出某种异常Publicvoidtest()throwsAException,BException示
4、例:演示年龄无效异常(“年龄18-30之间”)1.1项目中的异常方式一、异常处理的普通原则i.把整个系统分为两大类异常:一类,业务异常,写自定义异常来代表;一类,程序异常,直接采用Exception(或者另外一个自定义异常)来代表。项目要定义一个根自定义异常类,表示本项目中所有的异常;ii.在业务层、持久层把两类异常都抛出(不能把异常吃掉了);iii.在控制层捕捉异常,并分类处理(分类catch业务异常和系统异常,对业务异常,把异常信息取出,转发到提示页面显示给用户;对系统异常,用日志系统写入日志,便于以后维护
5、解决Bug);iv.定义一个通用的显示提示信息的视图(可用用Jsp或者JS窗口)实现。二、显示错误的方式i.直接在输入页面,显示错误优点:明确、详细,客户操作方便。缺点:工作量大。ii.提供一个公共的错误显示页面(还可以用JS实现自动返回)优点:通用、简单、工作量小。缺点:客户操作不方便。升级:考虑用div层,覆盖到输入页面上方,显示误消息(可以用图片、css做得很漂亮)。iii.使用JS弹出式窗口显示错误消息,点击确定后自动返回输入页面优点:实现方便、客户使用方便。缺点:操作不方便、丑。1.2Log4j1.2
6、.1概念(一)背景(为什么)?每一个软件系统,都要记录错误日志.写错误日志有几种方式:1自己写一个写错误日志的类和方法。2用Apache组织开发的log4j日志框架。(二)是什么Logforjava,是Apache组织开发的一个通用的日志框架。(三)Log4j的好处1、通用:是一组普通的Java类,能够加入几乎所有的项目中。2、强大:能够将日志按级别(Info、Debug、Warm、Error、Fatal等)输出;输出日志到几乎所有的终端:控制台、文件、网络、数据库等。3、方便:可以简单地修改配置文件,轻易由一
7、个输出级别换成另外一种输出级别;可以轻易地由一种输出目的地换成另外一种输出目的地。(一)Log4j介绍一、概述Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIXSyslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。 此外,通过L
8、og4j其他语言接口,您可以在C、C++、.Net、PL/SQL程序中使用Log4j,其语法和用法与在Java程序中一样,使得多语言分布式系统得到一个统一一致的日志组件模块。而且,通过使用各种第三方扩展,您可以很方便地将Log4j集成到J2EE、JINI甚至是SNMP应用中。二,使用前的准备。1、下载log4j地址为:http://jakarta.apache.org/log4j/do
此文档下载收益归作者所有