首页 > 代码库 > java异常

java异常

 

 

1

异常在子父类覆盖中的体现:
1,子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类.
2,如果父类方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集.
3,如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,也不可以抛出异常
如果子类方法发生了异常,就必须要进行try处理,绝对不能抛。

 

throwsthrow的区别

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异常