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

Manual Básico de Java

Controle de fluxo Java

Java Array

Java Orientação a Objetos (I)

Java Orientação a Objetos (II)

Java Orientação a Objetos (III)

Tratamento de Exceções Java

Java Lista (List)

Java Fila (Queue)

Java Conjunto Map

Java Conjunto Set

Java Entrada e Saída (I/)

Reader Java/Writer

Outros tópicos Java

Programa Java criando exceções personalizadas

大全 de exemplos Java

Neste exemplo, vamos aprender a criar exceções personalizadas de verificação e não verificadas no Java.

Para entender este exemplo, você deve saber o seguinteProgramação JavaTema:

示例1:Criar um programa Java personalizado para exceções de verificação

import java.util.ArrayList;
import java.util.Arrays;
//Criar uma classe de exceção de verificação personalizada
class CustomException extends Exception {
  public CustomException(String message) {
    //Chamar o construtor da classe Exception
    super(message);
  }
}
class Main {
  ArrayList<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "JavaScript"));
  //Verificar exceção
  public void checkLanguage(String language) throws CustomException {
    // Se language já estiver presente na ArrayList, lançar exceção
    if(languages.contains(language)) {
      throw new CustomException(language + "已经存在
    }
    else {
      // Inserir language na ArrayList
      languages.add(language);
      System.out.println(language + "已被添加到ArrayList
    }
  }
  public static void main(String[] args) {
    // Criar objeto da classe Main
    Main obj = new Main();
    //Usar try...catch para lidar com exceções
    try {
      obj.checkLanguage("Swift");
      obj.checkLanguage("Java");
    }
    catch(CustomException e) {
      System.out.println("[") + e + "] 发生异常));
    }
  }
}

Resultados de saída

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) {
    //Criar objeto da classe Main
    Main obj = new Main();
    //Verificar se o idioma de programação já existe
    obj.checkLanguage("Swift");
    obj.checkLanguage("Java");
  }
}

Resultados de saída

Swift é adicionado ao ArrayList
Exception em thread "main" CustomException: Java já existe
        at Main.checkLanguage(Main.java:21)
        at Main.main(Main.java:37)

No exemplo acima, estendemos a classe RuntimeException para criar uma classe de exceção personalizada não verificada.

Aqui, você pode ter notado que não declaramos nenhumtry ... catchBloco. Isso é porque as exceções não verificadas são verificadas no tempo de execução.

Além disso, outras funcionalidades além das exceções não verificadas são semelhantes ao programa acima.

大全 de exemplos Java