锁定老帖子 主题:exception 异常 log4j
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2010-04-23
最后修改:2010-04-23
异常总结: What--àhave--àhow………….
1. 什么是异常?异常是程序运行过程中不正常的情况
2. 常见到异常类型有哪些? ThrowAble(所有异常的根基类) Exception(异常基类) NullPointerException(空指针) ClassNotFoundException(类不能被加载) InputMismatchException(输入的数据类型与设置的类型不匹配) IllegalArgumentException(方法接收到非法参数) ArrayIndexOutOfBoundsException(数组越界)
3. 怎么样进行异常处理?java中通过5个关键字来实现异常处理 分别是:try:可能发生异常的代码,应放入try块中 Catch:捕获异常,并进行处理 Finally:无论是否发生异常,里面的代码都会被执行,一般在里面进行资源的清除工作 Throw:只能出现在方法体类,用于显示抛出一个异常 Throws:只能出现在方法签明中,用于标识该方法可能抛出的各种异常类型
4. 页面错误处理与异常处理的区别? 页面错误处理是总体上对系统中某种异常类型的处理,如Exception,而java的异常处理是针对某段功能代码所做的处理
5.系统中一般在哪些地方需要进行异常处理呢? 在MVC中的持久层是必需要有的,出现的异常类型有******SQLException,ClassNotFoundException,NullPointException,ArrayIndexOutOfException,下次再加入了解,在C中会通常需要处理异常,因为异常不能再往上一级抛,上一级是直接使用的用户!!!
6.Java中的异常处理机制的简单原理和应用? 当java程序违反了java的语义规则时,javaJVM就会将发生的错误表示为一个异常,违反语义则包括2种情况。一种是java类库内置的语义检查。例如数组下标越界,会引发ArrayIndexOutOfException,访问null的对象时会引发NullPointerException。另一种情况就是java允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Throwable的子类。
疑问点:
如果try中发生的异常类型在catch中未声明,则退出当前方法并由JVM中的jdb进行处理,输出椎栈信息
多重catch,必需从特殊到一般的声明异常的类型,如果有Exception,则必须在最后,程序会从第一个开始找相匹配的类型,如果找到后面的catch将不会执行
三种方式:Try-catch……, try-finally, try-catch……-finally
异常的类型有两类:运行时异常,受检异常
*****为什么要throw或throws异常? 如果声明方法时里面需要传要参数,这时就不能对参数进行处理,而throw一个异常,让调用者去处理该异常 Throws原理同上
记录日志信息:用于记录操作出现的错误信息,以便日后查看并改正,使用apache的开源工具log4j 可以在控制台输出日志,也可以输出日志到文件中 具体步骤:(只写入文件) 1. 加入log4j放入lib目录 2. 在src目录下放入log4j。properties文件,文件内容: log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.File=F:/test/a.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %m%n log4j.rootLogger=error,file
3.在系统中使用Logger.error(“error message”); 实现此三步即可实现对错误日志记录到文件F:/test/a.log,以便日后查看
4. Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG tanlinqing 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 2499 次