English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo esempio, impareremo a creare eccezioni controllate e non controllate in Java.
Per comprendere questo esempio, è necessario conoscere quanto segueProgrammazione in JavaArgomento:
import java.util.ArrayList; import java.util.Arrays; //Creazione di una classe di eccezione di controllo personalizzata class CustomException extends Exception { public CustomException(String message) { //Chiamata al costruttore del tipo Exception super(message); } } class Main { ArrayList<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "JavaScript")); //Controllo delle eccezioni public void checkLanguage(String language) throws CustomException { //Se language è già presente nell'ArrayList, viene lanciata un'eccezione if(languages.contains(language)) { throw new CustomException(language + " 已经存在"); } else { //Inserimento di language nell'ArrayList languages.add(language); System.out.println(language + " 被添加到ArrayList"); } } public static void main(String[] args) { //Creazione di un oggetto della classe Main Main obj = new Main(); //Gestione delle eccezioni con try...catch try { obj.checkLanguage("Swift"); obj.checkLanguage("Java"); } catch(CustomException e) { System.out.println("[" + e + "]" + "Si verifica un'eccezione"); } } }
Risultato di output
Swift è stato aggiunto all'ArrayList [CustomException: Java already exists] Si è verificata un'eccezione
Negli esempi precedenti, abbiamo esteso la classe Exception per creare un'eccezione personalizzata chiamata CustomException. Qui utilizziamo la chiave di controllo super() per chiamare il costruttore della classe Exception dalla classe CustomException.
Nel metodo checkLanguage(), controlliamo le eccezioni. Se si verifica un'eccezione, il blocco try..catch gestirà l'eccezione.
Ecco qui un esempio di eccezione controllata. Possiamo anche creare classi di eccezioni non controllate in Java. Per ulteriori informazioni sulle eccezioni controllate e non controllate, visitaEccezione Java.
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) { //Crea un oggetto della classe Main Main obj = new Main(); //Controlla se il linguaggio di programmazione esiste già obj.checkLanguage("Swift"); obj.checkLanguage("Java"); } }
Risultato di output
Swift è stato aggiunto all'ArrayList Exception in thread "main" CustomException: Java already exists at Main.checkLanguage(Main.java:21) at Main.main(Main.java:37)
Nell'esempio sopra, abbiamo esteso la classe RuntimeException per creare una classe di eccezione personalizzata non controllata.
Ecco, potresti aver notato che non abbiamo dichiarato alcuntry ... catchBlocco. Questo è perché le eccezioni non controllate vengono controllate durante l'esecuzione.
Altre funzionalità non controllate per l'eccezione, sono simili a sopra programma.