自定义异常,try,catch,throw,throws明了讲解

在这里插入图片描述
自定义异常,这个搞懂了就知道什么时候catch什么时候throw,什么时候throws

/*
   自定义“无效名字异常”.
      1.编译时异常,直接继承Exception
      2.运行时异常,直接继承RuntimeException
*/
public class IllegalNameException extends Exception{ //编译时异常
//public class IllegalNameException extends RuntimeException{ //运行时异常
   
   //定义异常一般提供两个构造方法
   public IllegalNameException(){}
   
   
   public IllegalNameException(String msg){
      super(msg);
   }
   
}
//顾客相关的业务
public class CustomerService{
   
   //对外提供一个注册的方法
   public void register(String name) throws IllegalNameException{
      
      //完成注册
      if(name.length()<6){
         
         //异常
         //创建异常对象
         //IllegalNameException e = new IllegalNameException("用户名长度不能少6位");
         
         //手动抛出异常
         //throw e;
         throw new IllegalNameException("用户名长度不能少6位");
      }
      
      //如果代码能执行到此处,证明用户名是合法的.
      System.out.println("注册成功!");
      
   }
   
}
/*
   模拟注册
*/
public class Test{

   public static void main(String[] args){
      
      //假如用户提供的用户名如下
      String username = "fdafdafdsa";
      
      //注册
      CustomerService cs = new CustomerService();
      
      try{
         cs.register(username);
      }catch(IllegalNameException e){
         System.out.println(e.getMessage());
      }
      
      
   }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值