第十六天学习笔记

异常

1.知识点

2.处理方法

代码

一次解决多个异常问题,用一个 |  ,用了两个 ||   就报错

在JDK7之后,我们可以在catch中同时捕获多个异常,中间用|进行隔开表示如果出现了A异常或者B异常的话,采取同一种处理方案

规则

方法

抛出异常

3.异常全代码:

import java.util.Scanner;

public class ThrowStudy {
    public static void main(String[] args) {
        int num = 0;
        Girlfriend gf = new Girlfriend();
        Scanner sc = new Scanner(System.in);
      while (true){
          try {
              System.out.println("请输入姓名");
              String name = sc.next();
              gf.setName(name);
              System.out.println("请输入年龄");
              String age = sc.next();

             num =Integer.parseInt(age);
             gf.setAge(num);
           break;
          }catch (NumberFormatException e){
              System.out.println("年龄格式不对,请输入整数:");
          }
          catch (AgeError a){
              a.printStackTrace();
          }catch (NameError n){
              n.printStackTrace();
          }

    }

    }
}

//测试类
class Girlfriend {
    private String name;
    private  int age;

    public Girlfriend() {
    }

    public Girlfriend(String name, int age) {
        this.name = name;
        this.age = age;
    }

    /**
     * 获取
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置
     * @param name
     */
    public void setName(String name)  {
        if(name.length() < 3 || name.length() > 10){
            throw new NameError(name + "不符合规范");
                }
        this.name = name;
    }

    /**
     * 获取
     * @return age
     */
    public int getAge() {
        return age;
    }

    /**
     * 设置
     * @param age
     */
    public void setAge(int age)  {

        if(age > 40 || age <18 ){
            throw new AgeError(age + "不符合规范");
        }
        this.age = age;
    }

    public String toString() {
        return "Girlfriend{name = " + name + ", age = " + age + "}";
    }
}
//姓名报错信息
class NameError extends RuntimeException{
    public NameError() {
    }

    public NameError(String message) {
        super(message);
    }
}

//年龄报错信息
class  AgeError extends RuntimeException{
    public AgeError() {
    }

    public AgeError(String message) {
        super(message);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值