您的位置:首页 > 编程语言 > Java开发

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

2019-03-25 15:08 253 查看

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

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

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

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

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

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

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

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

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

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

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

assert 条件;

assert 条件:表达式;

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

记录日志

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

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

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

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

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

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: