exception 异常 log4j

来源:互联网 发布:罗永浩大战王自如知乎 编辑:程序博客网 时间:2024/06/10 02:04

异常总结:

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

原创粉丝点击