English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Completo conjunto de ejemplos Java
En este ejemplo, aprenderemos a crear excepciones comprobadas y no comprobadas en Java.
Para entender este ejemplo, debe conocer lo siguienteProgramación en JavaTema:
import java.util.ArrayList; import java.util.Arrays; //Cree una clase de excepción de comprobación personalizada class CustomException extends Exception { public CustomException(String message) { //Llame al constructor del objeto Exception super(message); } } class Main { ArrayList<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "JavaScript")); //Verifique la excepción public void checkLanguage(String language) throws CustomException { // Si language ya aparece en ArrayList, lance una excepción if(languages.contains(language)) { throw new CustomException(language + " 已存在"); } else { // Inserte language en ArrayList languages.add(language); System.out.println(language + " 已添加到ArrayList"); } } public static void main(String[] args) { // Crear objeto de la clase Main Main obj = new Main(); //Utilice try...catch para manejar excepciones try { obj.checkLanguage("Swift"); obj.checkLanguage("Java"); } catch(CustomException e) { System.out.println("[") + e + "] 发生异常"); } } }
Resultados de salida
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) { //Crear objeto de la clase Main Main obj = new Main(); //Revisar si el lenguaje de programación ya existe obj.checkLanguage("Swift"); obj.checkLanguage("Java"); } }
Resultados de salida
Swift se agrega a ArrayList Exception en hilo "main" CustomException: Java ya existe at Main.checkLanguage(Main.java:21) at Main.main(Main.java:37)
En el ejemplo anterior, hemos extendido la clase RuntimeException para crear una clase de excepción personalizada no verificada.
Aquí, es posible que ya hayas notado que no hemos declarado nadatry ... catchBloque. Esto se debe a que las excepciones no verificadas se verifican en tiempo de ejecución.
Además, las otras funciones que no son excepciones no verificadas son similares a los programas anteriores.