标签:团队 run 处理机 问题 基础 声明 数据验证 包括 处理程序
捕获异常的语法
语法1: try{ // 运行过程中要执行的逻辑代码 // 这段代码可能会出现问题,捕获异常 }catch( Exception e){ // 声明一个父类异常,接受任何一个异常 // 提示当前系统出现了什么样的异常 }
语法2: try{ }catch( ){ }catch( ){ }catch( ){ }
语法3: try{ }catch( ){ }finally{ } // 为异常提供了一个统一的出口,使得当前程序在跳转到另外程序的流程之前,能够对程序进行统一的管理。 // 无论try模块中的内容是否执行,finally代码都执行一次。 // finally里边通常执行的内容是资源的关闭或者日志的记录。
语法4: try{ }finally{ } // 对于某些“可疑代码”在操作的时候直接try起来,异常不需要管。
方法栈:方法在调用的过程中,先执行的方法后退出。
在方法执行中,方法压入到方法栈中,在某一个方法中出现了运行时异常,没有处理这种异常,后边方法的内容将无法执行,异常抛给了虚拟机,中断了虚拟机继续运行。
在本方法中,如果出现了异常,本方法可以不进行处理,抛给调用者处理,将异常一层一层的往外抛,在达到虚拟机之前处理好,整个程序运行流程也不受影响。
throw:将异常进行抛出(动作)
throws:声明将要抛出何种类型的异常(声明)
重写方法时候,子类与父类异常问题:
1. 父类方法没有抛出异常,而子类重写方法抛出了异常,不允许,编译不通过。
2. 父类抛出了异常,子类重写方法抛出与父类同样的异常,没有问题。
3. 父类抛出了异常,子类重写方法不抛出异常,编译器能通过,但是不推荐这样写。
4. 父类抛出一个Exception,子类可以抛出比Exception小的异常,子类不能不父类大。
5. 父类抛出比子类小的异常,不行,编译报错。
6. 父类抛出一个Exception,子类抛出多个子异常。编译通过。
总结:子类重写方法抛出的异常,要么与父类一样,要么比父类小。
标签:团队 run 处理机 问题 基础 声明 数据验证 包括 处理程序
原文地址:https://www.cnblogs.com/Gavin520/p/10580688.html