异常
- 关键字:try, catch, finally, throw, throws
- finally:默认执行, 用于IO, Scanner的关闭资源等
- throws:声明异常
- throw:抛出异常
捕获异常
package com.cen.exception;
public class demo01 {
public static void main(String[] args) {
int a=1, b=0;
try {
int c = a / b;
} catch (Exception e) {
System.out.println("除法错误");
}
}
}
抛出异常
package com.cen.exception;
public class demo02 {
public static void main(String[] args) {
test(1, 0);
}
public static void test(int a, int b) throws ArithmeticException
{
if(b == 0){
throw new ArithmeticException();
}
}
}
自定义异常
package com.cen.exception;
public class demo03 extends Exception{
private int detail;
public demo03(int detail) {
this.detail = detail;
}
@Override
public String toString() {
return "demo03{" +
"detail=" + detail +
'}';
}
}
class test{
public static void test(int a) throws demo03
{
if(a > 10){
throw new demo03(a);
}
}
public static void main(String[] args) {
try {
test(11);
} catch (demo03 e) {
throw new RuntimeException(e);
}
}
}
总结
- 在多重catch后, 添加一个catch(Exception)来处理可能被遗漏的异常
- 尽量去处理异常, 切忌只是简单地调用printStackTrace()去打印输出
参考
遇见狂神说. 【狂神说Java】Java零基础学习视频通俗易懂