Java 自定义异常类(RuntimeException的子类)

RuntimeException类为运行时异常类,它的父类为Exception类

当运行时出现异常时,可以声明或捕获,一般不声明,一般会捕获,至少保证程序继续运行

举个例子:

定义了一个Word类,该类是单词类,根据单词的业务逻辑,单词中只能含有a~z、A~Z里的字符,但是在初始化Word对象可能会有含有其他字符,当含有其他字符时,就让程序报错。

 代码如下:

定义异常类,继承RuntimeException类

public class WordsCanOnlyBeComposedOfEnglishLetters extends RuntimeException{//继承Exception为编译时异常

	public WordsCanOnlyBeComposedOfEnglishLetters(String str) {
		
		super(str);
	}
}

 定义实体类Word

public class Word {
	
	private String word;
	
	public Word() {
		word="";
	}
	public Word(String str) /*声明这里可能出现异常*/ {
		for(int i=0;i<str.length();i++) {
			if(!((str.charAt(i)>='A'&str.charAt(i)<='Z')||(str.charAt(i)>='a'&str.charAt(i)<='z'))) {
				throw new WordsCanOnlyBeComposedOfEnglishLetters("含有非法字符");
			}
		}
		word=str;
	}
	public void setWord(String str) /*声明这里可能出现异常*/ {
		for(int i=0;i<str.length();i++) {
			if(!((str.charAt(i)>='A'&str.charAt(i)<='Z')||(str.charAt(i)>='a'&str.charAt(i)<='z'))) {
				throw new WordsCanOnlyBeComposedOfEnglishLetters("含有非法字符");
			}
		}
		word=str;
	}
	public String getWord(String str) {
		return word;
	}
}
//主类代码
public class Main {
	
	public static void main(String[] args) {
		//捕获异常
		try {
			
			Word w1=new Word("hj1");
			System.out.println("正常执行……");
		}catch(WordsCanOnlyBeComposedOfEnglishLetters w){
			w.printStackTrace();
		}
		System.out.println("执行结束!");
		
	}
}

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值