黑马程序员技术交流社区
标题:
自定义异常类InPutException
[打印本页]
作者:
小穿钉
时间:
2015-10-31 21:55
标题:
自定义异常类InPutException
本帖最后由 小穿钉 于 2015-10-31 21:59 编辑
/**
*学生的实际成绩和理想成绩之间的差距,对于一些可能出现的异常,自定义异常类InPutException.
* 定义自定义异常类InPutException,有两个构造函数。无参和有参。
*/
package cn.com.exception;
public class InPutException extends Exception{
InPutException(){}
InPutException(String str){
super(str);
}
}
作者:
小穿钉
时间:
2015-10-31 22:03
package cn.com.exception;
import java.util.*;
public class DreamScore {
//随机数当做考试的实际考分
private int score1=(int)(Math.random()*100)+1;
//定义输入理想分数的方法,输入不符合要求的就抛出自定义异常。
public void inPutNum(String str) throws InPutException{
int value=Integer.parseInt(str);
if(value<0||value>100){
//产生并抛出自定义异常InPutExeption
throw new InPutException("输入分数不在0到100之间");
}else{
System.out.println("输入的理想成绩为:"+value+"分");
System.out.println("实际成绩为:"+score1+"分");
System.out.println("理想成绩与实际成绩的差距为:"+(value-score1)+"分");
}
}
}
作者:
小穿钉
时间:
2015-10-31 22:07
package cn.com.exception;
import java.util.*;
public class ExceptionTest {
public static void main(String[] args){
String str;
System.out.println("请输入理想的成绩:");
Scanner in=new Scanner(System.in);
str=in.next();
DreamScore s=new DreamScore();
//对自定义异常进行捕获处理
try{
s.inPutNum(str);
}catch(InPutException e){
//输出异常对象的描述信息
System.out.println("产生的错误信息为:"+e.toString());
//显示自定义异常出现的执行堆栈轨迹情况
e.printStackTrace();
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2