zoukankan      html  css  js  c++  java
  • 02024_自定义异常的练习

    1、要求

      (1)定义Person类,包含name与age两个成员变量;

      (2)在Person类的有参数构造方法中,进行年龄范围的判断,若年龄为负数或大于200岁,则抛出NoAgeException异常,异常提示信息“年龄数值非法”;

      (3)在测试类中,调用有参数构造方法,完成Person对象创建,并进行异常的处理。

    2、代码演示

      (1)自定义异常类

    1 class NoAgeException extends Exception{
    2     NoAgeException() {
    3         super();
    4     }
    5 
    6     NoAgeException(String message)    {
    7         super(message);
    8     }
    9 }

      (2)Person类

     1 class Person{
     2     private String name;
     3     private int age;
     4     Person(String name,int age) throws NoAgeException    {
     5         //加入逻辑判断。
     6         if(age<0 || age>200)        {
     7             throw new NoAgeException(age+",年龄数值非法");
     8         }
     9         this.name = name;
    10         this.age = age;
    11     }
    12     //定义Person对象对应的字符串表现形式。覆盖Object中的toString方法。
    13     public String toString()    {
    14         return "Person[name="+name+",age="+age+"]";
    15     }
    16 }

      (3)测试类

     1 class ExceptionDemo{
     2     public static void main(String[] args) {
     3         try {
     4             Person p = new Person("xiaoming",20);
     5             System.out.println(p);
     6         }
     7         catch (NoAgeException ex){
     8             System.out.println("年龄异常啦");
     9         }
    10         System.out.println("over");
    11     }
    12 }

    3、构造函数到底抛出这个NoAgeException是继承Exception呢?还是继承RuntimeException呢?

      (1)如果继承Exception,必须要throws声明,一声明就告知调用者进行捕获,一旦问题处理了调用者的程序会继续执行;

      (2)如果继承RuntimeExcpetion,不需要throws声明的,这时调用是不需要编写捕获代码的,因为调用根本就不知道有问题。一旦发生NoAgeException,调用者程序会停掉,并有jvm将信息显示到屏幕,让调用者看到问题,修正代码

      

  • 相关阅读:
    三种方式重启NGINX 简单
    转MongoDB、HandlerSocket和MySQL性能测试及其结果分析 简单
    php ini_set post_max_size,upload_max_filesize 简单
    grep 命令 简单
    ANSI,GBK,UTF8,UTF16LE,UTF16BE 简单
    提升工作效率软件 简单
    会议记录 简单
    第一章 :zabbix监控
    第七章 :分布式监控与SNMP监控
    linux系统安装SNMP(可用)
  • 原文地址:https://www.cnblogs.com/gzdlh/p/8095150.html
Copyright © 2011-2022 走看看