1、Throws和throw
在Java中异常也是一个对象,它能被自定义抛出或应用程序抛出,必须借助throws和throw语句来进行定义抛出异常。throws和throw是成对出现的,例如:
static void cacheException() throws Exception { throw new Exception(); }
Throw语句在方法体内表示抛出异常,由方法体内的语句处理。Throws语句用在方法声明后面表示再抛出异常由该方法的调用者来处理。
Throws主要是声明这个方法会抛出这种类型的异常,使调用者知道要捕获这个异常。Throw是具体向外抛出异常的动作,它是抛出一个异常实例。
2、try、finally、catch
这三个关键字主要有几种组合方式:try……catch、try……finally、try……catch……finally。
Try……catch表示对某一段代码可能抛出异常进行的捕获,如下:
static void cacheException() throws Exception { try { System.out.println("1"); } catch (Exception e) { e.printStackTrace(); } }
Try……finally表示对一段代码不管执行情况如何,都会走finally中的代码。
static void cacheException() throws Exception { for (int i = 0; i < 5; i++) { System.out.println("enter:i=" + i); try { System.out.println("excute:i=" + i); continue; } finally { System.out.println(":i=" + i); } } }
Try……catch……finally表示对异常进行捕获以后再走finally中的代码逻辑。