什么是异常

t异常

什么是异常?

异常就是程序在运行的过程中所发生的不正常事件。

Java中,如何进行异常处理?

对可能会出现异常的代码块做出提前处理。

如何使用log4j

1.下载log4j的JAR文件,网址Apache log4j 1.2 -

2.日志的使用:

导包:Eclipse–选中src,点击Project–properties–Java Build Path–Libraries–dd External JARs…

创建log4j.properties文件:用来配置日志信息,右击src–选择new–file创建

编写配置文件信息;

##设置Logger输出级别和输出目的地

log4j.rootLogger=debug, stdout,logfile

##把日志信息输出到控制台

log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.err log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout

##把日志信息输出到文件:

jbit.log

log4j.appender.logfile=org.apache.log4j.FileAppender log4j.appender.logfile.File=jbit.log log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}%l %F %p %m%n

输出级别

debug<info<warn<error<fatal

fatal:出现严重错误将会导致应用程序的退出

error:出现错误,但不影响程序继续运行

warn:表示会出现潜在错误

设置输出级别时,程序只输出级别相同或者高于他的信息

try-catch-finally块

try{
    //业务代码
    //...
    // 出现异常,去执行catch
}
catch(exception ex){ //exception,所有异常类型的父类
    ex.printStackTrace();//输出异常的堆栈信息
    ex.getMessage();//返回异常描述的字符串
}
finally{
    //无论程序是否出现异常,都会执行
}


组合:try-catch/try-finally/try-catch-finally

1.异常处理中出现return的执行顺序

try{                                    try{
                                            return 1;
return;                                 }

}catch{                                 catch{
                                            return 1;
return;                                 }

}finally{                               finally{
                                            return 1;
return;                                 }

}   

1.直接return2.return 1;(返回一盒数据类型)
先执行try、catch中return之前的语句,接着执行finally中的语句,返回去执行try、catch中的return依次执行,先执行try/catch中的代码,接着执行finally里面的代码,finally中的return覆盖掉try/catch中的return

2.finally不被执行的唯一情况

3.多重catch

try{
//代码块
}catach(InputMismatchException e){
//说明异常
}catach(Exception e){
//其他异常
}

注意事项:

多重catch块的排列顺序必须是从子类到父类,如果父类放到前面,,则后面的异常不被执行

throw,throws

  1. throw用于抛出异常(throw new exception(“ ”));位于方法体内部,可作为单独语句使用,只能抛出一个异常对象

2.throws用于声明异常,必须跟在方法参数列表的后面,不可单独使用,后面+异常类,可用多个

3.使用throw抛出异常时,必须显示处理异常/接着往上一级抛出异常

异常分类

常见的异常类型

异常说明
Exception异常层次结构的根类
arithmeticexception算数异常
arrayindexoutofboundsexception数组下标越界
nullpointerexception空指针异常
classnotfoundexception不能加载所需的嘞
InputMismatchException欲得到的数据类型与实际输入的不匹配
IllegalAgumentException方法接受到非法参数
ClassCastException对象强制类型转换出错
NumberFormatExcpTion数字格式转换出错,如把"asd"转换成数字

异常分类

1.基类为Throwable,分为Error和Exception,

2.Error表示仅靠程序自身无法恢复的严重错误,灾难性错误

3.Exception分为RuntimeException和IOException

4.RuntimeException运行时异常,不要求程序必须做出处理,也称unchecked

5.checked异常(非运行时异常),程序必须捕捉病处理异常

恢复的严重错误,灾难性错误

3.Exception分为RuntimeException和IOException

4.RuntimeException运行时异常,不要求程序必须做出处理,也称unchecked

5.checked异常(非运行时异常),程序必须捕捉病处理异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值