English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
При чтении значений от пользователя в конструкторе или любом методе можно использовать условие 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)