English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Beispiel werden wir lernen, wie man in Java eigene überprüfte und nicht überprüfte Ausnahmen erstellt.
Um diesen Beispiel zu verstehen, sollten Sie die folgenden Kenntnisse habenJava-ProgrammierungThema:
import java.util.ArrayList; import java.util.Arrays; //Erstellen Sie eine Überprüfungsfehlerklasse class CustomException extends Exception { public CustomException(String message) { //Rufen Sie den Konstruktor der Exception-Klasse auf super(message); } } class Main { ArrayList<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "JavaScript")); //Überprüfen Sie die Ausnahme public void checkLanguage(String language) throws CustomException { // Wenn language bereits in ArrayList vorhanden ist, wird eine Ausnahme ausgelöst if(languages.contains(language)) { throw new CustomException(language + " 已存在"); } else { // Fügen Sie language zu ArrayList hinzu languages.add(language); System.out.println(language + " 已添加到ArrayList"); } } public static void main(String[] args) { // Erstellen Sie ein Objekt der Klasse Main Main obj = new Main(); //Verwenden Sie try…catch, um Ausnahmen zu behandeln try { obj.checkLanguage("Swift"); obj.checkLanguage("Java"); } catch(CustomException e) { System.out.println("[") + e + "] 发生异常"); } } }
Ausgaberesultat
Swift 已添加到ArrayList [CustomException: Java already exists] 发生异常
在上面的示例中,我们扩展了Exception类以创建一个名为CustomException的自定义异常。 在这里,我们使用super()关键字从CustomException类中调用Exception类的构造函数。
在方法checkLanguage()中,我们检查了异常情况,如果发生异常,则try..catch块将处理该异常。
在这里,这是检查的异常。我们还可以在Java中创建未经检查的异常类。要了解有关已检查和未检查的异常的更多信息,请访问Java Exception。
import java.util.ArrayList; import java.util.Arrays; //创建未检查的异常类 class CustomException extends RuntimeException { public CustomException(String message) { //调用RuntimeException的构造函数 super(message); } } class Main { ArrayList<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "JavaScript")); //检查异常情况 public void checkLanguage(String language) { //如果ArrayList中已存在编程语言,则引发异常 if(languages.contains(language)) { throw new CustomException(language + " 已存在"); } else { //将编程语言插入到ArrayList languages.add(language); System.out.println(language + " 已添加到ArrayList"); } } public static void main(String[] args) { //Erstellen Sie ein Objekt der Klasse Main Main obj = new Main(); //Überprüfen Sie, ob die Programmiersprache bereits existiert obj.checkLanguage("Swift"); obj.checkLanguage("Java"); } }
Ausgaberesultat
Swift wird zur ArrayList hinzugefügt Exception in thread "main" CustomException: Java already exists at Main.checkLanguage(Main.java:21) at Main.main(Main.java:37)
Im obigen Beispiel haben wir die RuntimeException-Klasse erweitert, um eine nicht überprüfte benutzerdefinierte Ausnahmeklasse zu erstellen.
Hier haben Sie vielleicht bemerkt, dass wir keinetry ... catchDies ist darauf zurückzuführen, dass nicht überprüfte Ausnahmen zur Laufzeit überprüft werden.
Abgesehen davon sind andere Funktionen, die keine überprüften Ausnahmen überprüfen, ähnlich wie im obigen Programm.