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

Tutorial Base Java

Controllo del flusso Java

Array Java

Programmazione orientata agli oggetti (I) Java

Programmazione orientata agli oggetti (II) Java

Programmazione orientata agli oggetti (III) Java

Gestione delle eccezioni Java

Lista (List) Java

Queue (coda) Java

Map di Java

Set di Java

Input/Output (I/O) Java

Reader/Writer Java

Altri argomenti Java

Creazione di eccezioni personalizzate in un programma Java

Completa guida di esempi Java

In questo esempio, impareremo a creare eccezioni controllate e non controllate in Java.

Per comprendere questo esempio, è necessario conoscere quanto segueProgrammazione in JavaArgomento:

Esempio 1: Creazione di un programma Java personalizzato per eccezioni di controllo

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.

Esempio 2: Creare una classe di eccezione non controllata personalizzata

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.

Completa guida di esempi Java