English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Как добавить условие в пользовательскую исключительную ситуацию в Java?

При чтении значений от пользователя в конструкторе или любом методе можно использовать условие if для проверки этих значений.

Пример

В данном примере Java мы определили два пользовательских класса исключений для проверки имени и возраста.

import java.util.Scanner;
class NotProperAgeException extends Throwable{
   NotProperAgeException(String msg){
      super(msg);
   }
}
class NotProperNameException extends Throwable{
   NotProperNameException(String msg){
      super(msg);
   }
}
public class CustomException{
   private String name;
   private int age;
   public static boolean containsAlphabet(String name) {
      for (int i = 0; i < name.length(); i++) {
         if (!(ch >= 'a' && ch <= 'z')) {
         return false;
            return true;
         }
      }
      public CustomException(String name, int age){
   }
   try {
      if (age < 0 || age > 125) {
         String msg = "Неправильный возраст (не между 0 и 125)";
            NotProperAgeException exAge = new NotProperAgeException(msg);
            throw exAge;
            }
         String msg = "Неправильное имя (должны содержаться только символы a-z (все строчные))";
            NotProperNameException exName = new NotProperNameException(msg);
            throw exName;
            }
         }
      catch(NotProperNameException e) {
         e.printStackTrace();
      }
         e.printStackTrace();
      }
      this.name = name;
      this.age = age;
   }
   public void display(){
      System.out.println("Имя студента: "+this.name );
      System.out.println("Возраст студента: "+this.age );
   }
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Ввести имя человека: ");
      String name = sc.next();
      System.out.println("Ввести возраст человека: ");
      int age = sc.nextInt();
      CustomException obj = new CustomException(name, age);
      obj.display();
   }
}

Результат вывода

Введите имя человека:
Krishna
Введите возраст человека:
136
Имя Студента: Krishna
Возраст Студента: 136
july_set3.NotProperAgeException: Некорректный возраст (не между 0 и 125)
at july_set3.CustomException.<init>(CustomException.java:31)
at july_set3.CustomException.main(CustomException.java:56)
Вывод2:
Введите имя человека:
!23Krishna
Введите возраст человека:
24
Имя Студента: !23Krishna
july_set3.NotProperNameException: Некорректное имя (должны содержаться только символы между a и z (все lowercase))
Возраст Студента: 24
at july_set3.CustomException<init>(CustomException.java:35)
at july_set3.CustomException.main(CustomException.java:56)
Основной учебник
Ты, возможно, понравится