Java面试系列10()异常、断言

代码可能在某个情况下执行会发生问题。
需要预定义一个解决方案 进行处理 可能发生的异常.
try{

}catch(Exception e){

}finally{

}
抛出异常:
调用者

public void show()throws Exception{}

手动报错,
public void show(){
throw new Exception("msg");
}

Throwable
Error Exception
RuntimeException 运行时异常,不检查语法。
CheckException 编译异常,检查语法异常

RuntimeException类和子类都是运行异常
NullPointer
ArrayIndexOutOfBounds
ClassCase
ArithmeticException
SystemException

编译异常:
ClassNotFound
FileNotFound
IOException
SQLException
EOFException

异常栈:
异常报错过程经过了多少方法

断言

if语句 的一个替代工具。if语句会跟着到机器码,断言则可以通过(-ea)设置。

断言通常是在测试的时候使用。为了确保数据的正确性同时也要保证源码的不变性而使用断言。

简单来说断崖是if 的一个替换,断言用于测试阶段,进不了机器码(项目上线一般不进)

不过,真心不建议编码人员用断言,因为,你不知道测试人员知不知道你的意思。

语法格式

assert  bool表达式:”描述信息“;(下面一行是执行体)

 

比如

assert   str == ”asdf“ :”str不是asdf“;

str.tostring();

 

启动断言需要在启动程序时设置虚拟机参数 -ea

posted on 2019-08-12 19:39  暮城暮雪  阅读(187)  评论(0编辑  收藏  举报

导航