首页 > 代码库 > java异常
java异常
1
异常在子父类覆盖中的体现:
1,子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类.
2,如果父类方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集.
3,如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,也不可以抛出异常
如果子类方法发生了异常,就必须要进行try处理,绝对不能抛。
throws和throw的区别
Throws使用在函数上
Throw使用在函数内
Throws后面跟的异常类,可以跟多个,用逗号隔开
Throw后跟的异常对象
RuntimeException 运行时异常
如果在函数内抛出该异常,函数上可以不用声明,编译一样通过
如果在函数上声明了该异常,调用者可以不用进行处理.
对于异常分两种:
1,编译时被检测的异常.
2.编译时补被检测的异常(运行时异常.RuntimeException以及其子类)
package pack;//自定义运行时异常class FuShuException extends RuntimeException{ FuShuException(String msg){ super(msg); }}class Person{ public void checkName(String name){ // if(name.equals("lisi")){ NullPointerException/* * if(name == null){ * throw new FuShuException(); * } * */ if("lisi".equals(name)){ //if(name!=null && name.equals("lisi")){ System.out.println("yes"); }else{ System.out.println("no"); } }}class Work{ int div(int a, int b) throws Exception{ //这里抛 if(b==0) throw new Exception(); //普通异常还必须在方法上抛出 return a/b; }}public class Demo { public static void main(String[] args) { Person p = new Person(); p.checkName(null); } }
java异常
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。