java复习-异常+断言

常见的错误类型:

1.     用户输入错误

2.     设备错误(打印机、网页、文件)

3.     物理限制(磁盘、内存)

4.     代码错误

 

有些情况下,发生错误时,可以通过错误返回码-1,null得知,对于没有返回码的错误只能通过设置异常处理器

 

异常类是一个封装了错误信息的对象

 

Throwable是所有异常类的超类,它有2个子类,Error(系统内部错误和资源耗尽错误)和Exception,而Exception也有2个子类,IOExceptionRuntimeException

Error和RuntimeException是属于未检查异常,即系统是不会提示你的,而IOException是已检查异常,如果没有设置异常处理,系统是会提示你的

一般而言,RuntimeException错误都是自己代码的问题

 

对于会抛出异常的方法,在参数括号后面使用throws声明会抛出的异常类;在具体抛出异常的地方,使用throw抛出异常对象,这种方法便于将异常抛给调用方去处理

 

使用try/catch捕获异常,一个try可以对应多个catch,而catch块子句也是可以合并的,使用| 隔离;catch块里也可以再次抛出异常,多用于对捕获异常进行包装

 

对于必须要回收的资源,使用finally解决,它在无论是否发生异常的情况下都会执行;对于return,当try中存在return时,finally是会在方法返回前执行的,也是在return之前执行,而如果这时finally里也有一个return,那么try中的return就不会执行了,因为程序已经结束了

 

断言机制允许在测试期间向代码中插入一些检查语句,当系统发布时,这些语句将会被自动地移走,使用关键字assert修饰

使用assert 条件  /  assert 条件:表达式

当条件不符合时,会抛出AssertionError异常,如果带有表达式,表达式内容会作为AssertionError构造器的参数,比如assert x >= 0 : x

断言机制默认是关闭的,可以在终端通过java –enableassertions 程序名开启

你可能感兴趣的:(java复习-异常+断言)