码迷,mamicode.com
首页 > 编程语言 > 详细

java异常

时间:2014-11-30 00:15:06      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   使用   sp   java   on   

bubuko.com,布布扣

 

bubuko.com,布布扣

 

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

标签:style   blog   http   io   ar   使用   sp   java   on   

原文地址:http://www.cnblogs.com/wikiki/p/4132211.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!