Java基础4--异常、断言和日志

异常:异常都是派生于Throwable类的一个实例。

error:描述了Java运行时系统的内部错误和资源耗尽的错误。

Exception:由于RuntimeException产生的原因都是你的原因。(非受检查异常)

异常:抛出异常和捕获异常。

******子类方法中声明的受检查异常不能比超类方法中声明的异常更通用。就是子类方法中抛出的异常必须更加特定,或者不抛出异常。

捕获异常时,异常变量隐含为final变量。

//捕获异常建议
InputStream in=
try{
    try{
        .....
    }finaly{
        in.close();
    }
}catch(IOException e)
{
    show error message
}    

按照上面的代码捕获异常,可以提高代码的清晰度。

抛出IOException可以直接写成try-with-resourses的最简形式:

try(Scanner s=new Scanner(new FileStream("/usr/share/dict/word"),"utf8")
{
    ...
}
//这样不管是否抛出异常,s都会关闭,而且如果s关闭抛出异常不会覆盖之前的异常。

断言:assert,只用于开发和测试阶段。(确定程序内部的错误位置)

assert 条件;

assert 条件:表达式;

两种形式对条件进行检测,如果条件为false,则会抛出一个AssertionError异常。在第二个形式中,表达式将会被传入AssertionError的构造器,并转为一个消息字符出串。

记录日志

可以使用getLogger方法创建或获取记录器

private static final Logger myLogger =Logger.getLogger("com.mycompany.myapp")

日志记录有7个级别:severe warning info config fine finer finest

使用日志通常是记录不可预料的异常,使用下面两种方法用来记录记录异常内容:

void throwing(String className,String methodName,Throwable t)
void log(Level 1,String message, Throwable t)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值