自定义异常类,非法年龄类,并在person3类中使用此类,根据情况抛出异常,并进行处理。

package naizi;

class IllegalAgeException extends Exception{    //无效年龄异常类
public IllegalAgeException(String s){
super(s);
}
public IllegalAgeException(){
this("");
}
} public class Person3{
protected String name; //姓名
protected int age; //年龄
public Person3(String name,int age)throws IllegalAgeException{ //抛出异常的方法,请准确写出抛出的异常类
this.set(name);
this.set(age);
}
public void set(String name){
if (name==null || name=="")
this.name = "姓名未知";
else
this.name = name;
}
public void set(int age) throws IllegalAgeException { //抛出异常的方法,请准确写出抛出的异常类
if (age>=0 && age<100)
this.age = age;
else
throw new IllegalAgeException(Integer.toString(age)); //抛出IllegalAgeException的类
}
public void set(String name, int age) throws IllegalAgeException { //抛出异常的方法,请准确写出抛出的异常类
this.set(name);
this.set(age);
}
public String toString() {
return this.name+","+this.age+"岁";
}
public void print(){
System.out.println(this.toString());
}
public static void main(String args[]){
Person3 p1=null;
try{ //写出异常处理结构语句
p1 = new Person3("李小明",20); //调用声明抛出异常的方法,必须写在try语句中,否则编译不通过
p1.set(121);
}catch (IllegalAgeException e){ //捕获自定义异常类,而非Exception类
e.printStackTrace(); //显示异常栈跟踪信息
}finally {
p1.print();
}
}
}

运行结果如图:

Java第二次作业第五题的更多相关文章

  1. Java第二次作业第四题

    文本行输入学生姓名,下来框选择课程名称,文本行输入课程成绩:点击"录入"按钮,相关信息显示在文本区:点击"统计"按钮,将所有录入的成绩的平均成绩显示在另一个文本 ...

  2. Java第二次作业第三题

    四叶玫瑰线的图形设计:当用鼠标拖拽改变窗口大小时,四叶玫瑰线会重新绘制 package naizi; import java.awt.*; import java.awt.event.*; impor ...

  3. Java第二次作业參考代码

    Java第二次作业參考代码 [程序11] 题目:有1.2.3.4四个数字,能组成多少个互不同样且无反复数字的三位数?都是多少? public class lianxi11 { public stati ...

  4. JAVA第二次作业展示与学习心得

    JAVA第二次作业展示与学习心得 在这一次作业中,我学习了复选框,密码框两种新的组件,并通过一个邮箱登录界面将两种组件运用了起来.具体的使用方法和其他得组件并没有什么大的不同. 另外我通过查阅资料使用 ...

  5. Java第二周作业

    Java第二周作业 本周作业: 参考http://www.cnblogs.com/rocedu/p/7911138.html 学习第二三章视频 参考http://www.cnblogs.com/roc ...

  6. Java第二次作业——数组和String类

    Java第二次作业--数组和String类 学习总结 1.学习使用Eclipse关联jdk源代码,查看String类的equals()方法,截图,并学习其实现方法.举例说明equals方法和==的区别 ...

  7. Java第三次作业第五题

    5. [问题描述]Fibonacci序列处理 从文件in.txt中读取第一个数作为Fibonacci数列的开始数n,读取第二个数,作为需要写入的数的个数m. 将从n开始的m个Fibonacci数列写入 ...

  8. Java第二次作业第二题

    请编写图像界面程序,用户在第一文本行输入数字,有三个按钮,分别是计算2进制,8进制,16进制,点击其中一个按钮,第一个文本行中的数据转换为相应进制的数显示在第二个文本行中. package naizi ...

  9. Java第二次作业第一题

    编写图形界面程序,在窗体中设置菜单栏,在菜单栏上添加"file"菜单,在文件菜单中添加"new"和"quit"两个菜单项,其中"q ...

随机推荐

  1. 自己实现spring核心功能 一

    聊聊spring spring对于java开发者来说,是最熟悉不过的框架了,我们日常开发中每天都在使用它.它有着各种各样的好处,简单易用,得心应手... ... 我们一说到spring就会讲到ioc ...

  2. 在ubuntu下使用CMake及VSCode对LoRaMac-node代码进行编译调试

    准备工作 下载代码LoRaMac-node  阅读LoRaMac-node目录下的doc文件夹中的development-environment.md 开工 安装所需环境 CMaka( >= 3 ...

  3. 关于selenium自动化对iframe内嵌元素的处理

    今天上班闲来无聊,于是来练练自动化,结果碰上了可恶的iframe,楼主,以前也遇到过,但是一直也没搞懂怎么处理的,都是抄别人的代码,今天决定独立解决试试.首先先来认识什么是iframe,它就长下图这样 ...

  4. .NET Core C#中级篇2-5 常见实用类

    .NETCore CSharp 中级篇2-5 本节内容为常见实用类和方法的使用 String.Format string.format方法是一个字符串格式化类,它里面的一些写法是对字符串进行指定格式的 ...

  5. 回顾js中的cookie/localstorage

    1.首先简单总结下cookie cookie:可以做会话跟踪 特点:      1.大小限制(不能超过4k)      2.每个域下cookie不能超过50个      3.有效期(和设定时间有关), ...

  6. PIXIJS的一些使用

    我发现pixijs在国内简直就是一片静土啊,只有那么一点点的微弱的不能再微弱的声音. 我在这里整理了下我使用过程中解决和可能理解的一些问题吧,都是一个个点,而不是完整的示例. 先放官网示例: http ...

  7. 单元测试之NUnit一

    NUnit 分三篇文章介绍,入门者可阅读文章,有基础者直接参考官方文档.初次写博客,望大家指点. 导航: 单元测试之NUnit一 单元测试之NUnit二 单元测试之NUnit三 NUnit是什么? N ...

  8. 写博客没高质量配图?python爬虫教你绕过限制一键搜索下载图虫创意图片!

    目录 前言 分析 理想状态 爬虫实现 其他注意 效果与总结 @(文章目录) 前言 在我们写文章(博客.公众号.自媒体)的时候,常常觉得自己的文章有些老土,这很大程度是因为配图没有选好. 笔者也是遇到相 ...

  9. Java连载26-方法(语法结构)

    一.方法 1.返回值类型如果不是void,表示这个方法执行结束之后必须返回一个具体的数值,当方法执行结束的时候没有返回任何数值,编译器会报错,怎么返回值呢?并且要求“值”的数据类型必须和“方法的返回值 ...

  10. NLP(十二)指代消解

    代词是用来代替重复出现的名词 例句: 1.Ravi is a boy. He often donates money to the poor. 先出现主语,后出现代词,所以流动的方向从左到右,这类句子 ...