学习笔记之《Java核心技术卷I》---- 第七章 异常、断言和日志

  • 异常对象都是派生与Throwable的一个实例
  • 派生于Error类或RuntimeException类的所有异常称为非受查异常,所有其他异常称为受查异常
  • 一个方法必须声明所有可能抛出的受查异常,而非受查异常要么不可控制,要么就应该避免发生
  • 关键字throws位于方法之后,声明该方法可能抛出异常;throw 关键字对位于方法之内,意为抛出异常
  • 所有派生的异常类都支持一个默认的构造器和一个带有详细描述信息的构造器
  • 不允许在子类的throws说明符中出现超过超类方法所列出的异常类范围
  • try{ }catch{ }finally{ }代码块运行步骤
  • try{ try{ } finally{ } }catch{ }
  • 在try{ }finally{ }中,若finally块和try块中都含有return语句,那么finally的return会覆盖try中的return。代码如下:
public static void main(String[] args) {
		System.out.println(f(2));//2
	}
	public static int f(int x) {
		try {
			return x * x;
		} finally {
			return x;
		}
	}
}
  • 带资源的try语句:不论这个块如何退出,在try中打开的资源都会关闭
try(Scanner in = new Scanner(new FileInputStream("./test.txt"));//可以写多个资源,每个资源用分号隔开
	PrintWriter out = new PrintWriter("out.txt")){
	while (in.hasNextLine()) {
	    out.println(in.nextLine());
}
  • 早抛出,晚捕获
  • 日志:过
  •  

猜你喜欢

转载自blog.csdn.net/smart_ferry/article/details/84872693