八、异常处理
断言
当方法对参数错误没有做处理,对参数有要求的时候,在方法调用前 ,先对参数进行断言
只用于开发测试阶段,不应该使用断言向程序的其他部分通告发生了可恢复性的错误,或者,不应该作为程序向用户通告问题的手段
int a = 5;
assert 9 > a;
// 冒号后面内容会作为提示信息
assert 1 > a : a+"不行";
// java.lang.AssertionError: 5不行
带资源的 try
JavaSE 7 提供,在 try 正常结束或者抛出异常时,能自动关闭资源(相当于在 finally 中调用 资源的 close 方法)
资源需要实现 AutoCloseable 接口
String path="C:/Users/Desktop/新建文本文档 (4).txt";
FileInputStream fileInputStream=new FileInputStream(path);
try(
Scanner scanner=new Scanner(fileInputStream,"GBK");
Scanner scanner2=new Scanner(fileInputStream,"GBK");
){
while (scanner.hasNext()){
System.out.println(scanner.next());
}
}