①. 异常的概述和分类
1>. 异常的概述和分类
②. Jvm默认是如何处理异常的
2>. Jvm默认是如何处理异常的
- ①. Jvm有一个默认的异常处理机制,就将该异常进行处理。并将该异常的名称,异常的信息,异常出现的位置打印在了控制台上
- ②. 同时将程序停止运行
//看异常从后往前看,先看这里的 java:6 再看 java:14 public class JvmException { public static void main(String[] args) { DemoJvm d=new DemoJvm(); int x=d.div(1,0); System.out.println(x);//ArithmeticException: / by zero } } class DemoJvm{ public int div(int a,int b){//a=10 b=0 // 10/0 被除数是10,除数是0当除数是0的时候违背了算数运算法则,抛出异常 // new ArithmeticExcpetion("/ by zero") return a/b; } }
③.try–catch的方式处理异常
3>. try–catch的方式处理异常
try:用来检测异常的;catch:用来捕获异常的;finally:用来释放资源的 异常处理的两种方式 try.....catch.....finally 1.try.....catche 2.try.....catche.....finally 3.try.....finally throws
- 世界上最真情的相依就是你在try 我在catch,无论你发神马脾气,我都静静接受,默默处理
- ①.当通过trycatch将问题处理了,程序会继续执行
- ②. try后面如果跟多个catch,那么小的异常放前面,大的异常放后面,根据多肽的原理,如果大的放前面,就会将所有的子类对象接受,后面的catch就没有意义了
④. 编译期异常和运行期异常的区别
4>. 编译期异常和运行期异常的区别
- 所有的RuntimeException类及其子类的实例被称为运行时异常,其他的异常就是编译时异常
- 编译时异常:Java程序必须显示处理,否则程序就会发生错误,无法通过编译
- 运行时异常:无需显示处理,也可以和编译时异常一样处理