try-catch的意义:
- 可以捕获并记录失败的错误信息,避免因失败而中断
- 可以在catch输出具体的错误日志
没有try-catch
public static void main(String[] args) {
hh();
}
private static void hh() {
for (int i = 10; i >= 0; i--) {
if (i == 6) {
int hh = i / 0;
}
System.out.println("打印 i ---------------" + i);
}
}
打印:
没有捕获时,会直接中断后面的任务,并且抛出异常。
使用try-catch
public static void main(String[] args) {
hh();
}
private static void hh() {
for (int i = 10; i >= 0; i--) {
try {
if (i == 6) {
int hh = i / 0;
}
System.out.println("打印 i ---------------" + i);
} catch (Exception e) {
log.error("error, 原因:{}", e.getMessage());
}
}
}
打印:
并不会中断后面的任务,而且会输出具体的错误日志信息。如果是接口的话,也不会直接返回500把错误抛给前端。
所以,在有可能出现异常的地方,一定要捕获异常!!!