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

Tutoriales básicos de Java

Control de flujo en Java

Java Arreglo

Java Orientado a Objetos (I)

Java Orientado a Objetos (II)

Java Orientado a Objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Cola (Queue)

Java Colección de Mapas

Java Conjunto (Set)

Java Entrada/Salida (I/)

Lector de Java/Writer

Otras materias de Java

Java programa personalizado de creación de excepciones

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:

示例1:Cree un programa Java personalizado para la excepción de comprobación

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

示例2:创建自定义未经检查的异常类

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.

Completo conjunto de ejemplos Java