目录
- 异常
- 异常体系结构
- Error
- Exception
- 练习一
- try监控区域 catch 捕获异常 finally 处理善后工作 catch(想要捕获的异常类型! 变量e) 捕获异常
- //catch (Throwable e) //catch (ArithmeticException e)
- finally区域可以不要 但是假设后面学习IO流 或者资源 可以放在finally里面进行关闭
- 练习二
- //重点 假设要捕获多个异常的时候 要从小到大 // (Throwable>(Error=Exception)) 否则的话会编译报错 //比如 先运行Throwable异常再运行Error异常会出现编译报错
- 练习三
- 重点 //学习快捷键 ctrl Alt + T 自动编写捕获异常代码 //如果按完快捷键后没有反应 原因是与qq热键相冲突
- e.printStackTrace();//打印错误的栈信息
- 练习四
- //但是如果捕获到异常后 还想让代码继续运行 //那么就用try-catch 来进行编写 try { new Test(); }catch (ArithmeticException e){ e.printStackTrace(); }finally { System.out.println("finally"); }
- 重点:注意throws抛出异常和throw抛出异常的区别如下
- // throws 在方法上抛出异常 // (假设这方法中 处理不了这个异常 那么就在方法上抛出异常) public void test(int a,int b) throws ArithmeticException{}
- public void test(int a,int b){ if (b==0){ //throw 在方法体内抛出异常 throw new ArithmeticException(); //主动抛出异常 } }
异常



错误Error: 错误不是异常 而是脱离程序员控制的问题 错误在代码中通常被忽略 例如:当栈溢出时,一个错误就发生了 它们在编译也检查不到
异常体系结构
重点图片

Error

Exception


练习一
try监控区域
catch 捕获异常
finally 处理善后工作
catch(想要捕获的异常类型! 变量e) 捕获异常
//catch (Throwable e)
//catch (ArithmeticException e)
finally区域可以不要
但是假设后面学习IO流 或者资源 可以放在finally里面进行关闭

练习二
//重点 假设要捕获多个异常的时候 要从小到大
// (Throwable>(Error=Exception)) 否则的话会编译报错
//比如 先运行Throwable异常再运行Error异常会出现编译报错

练习三
重点
//学习快捷键 ctrl Alt + T 自动编写捕获异常代码
//如果按完快捷键后没有反应 原因是与qq热键相冲突
e.printStackTrace();//打印错误的栈信息

练习四
//但是如果捕获到异常后 还想让代码继续运行
//那么就用try-catch 来进行编写
try {
new Test();
}catch (ArithmeticException e){
e.printStackTrace();
}finally {
System.out.println(“finally”);
}
重点:注意throws抛出异常和throw抛出异常的区别如下
// throws 在方法上抛出异常
// (假设这方法中 处理不了这个异常 那么就在方法上抛出异常)
public void test(int a,int b) throws ArithmeticException{}
public void test(int a,int b){
if (b==0){
//throw 在方法体内抛出异常
throw new ArithmeticException(); //主动抛出异常
}
}



被折叠的 条评论
为什么被折叠?



