1.catch块和finally块可以省略其中一个。
2.finally块在try和catch的return之前执行。(return时会暂存,执行finally后再return)
如果finally中有return,那就直接return了。
/**
* 省略finally 语句块
*/
public static void omitFinally() {
try {
int i = 0;
i += 1;
System.out.println(i);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 省略 catch 语句块
*/
public static void omitCatch() {
int i = 0;
try {
i += 1;
} finally {
i = 10;
}
System.out.println(i);
}
}
3.注释写在哪里?
try {
statements;
}
// 注释行
catch ( exception-declaration) {
statements;
}
// 注释行
finally {
statements;
}