[JAVA] Exception faite par vous-même

Essayez de faire une exception

WahhoiException.java


package exception;

/**
 * <b>Exception Wow.<b>
 *
 * @author me
 *
 */
public class WahhoiException extends Exception{

	//Évitement d'avertissement
	private static final long serialVersionUID = 1L;

	/**
	 * Constructor.
	 *
	 * @Param msg Message de sortie
	 */
	public WahhoiException (String msg) {
		super(msg);
	}
}

PracticeException1.java


package test;

import java.util.Optional;

import exception.WahhoiException;

/**
 * Test.
 *
 * @author me
 *
 */
public class PracticeException1 {

	/**
	 * main
	 *
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			run(Optional.ofNullable(null));
		} catch (WahhoiException e) {
			System.out.println(e.getMessage());
		}
	}

	/**
	 *Méthode de pratique.
	 *
	 * @param opt Je ne connais pas la valeur de facultatif
	 * @throws WahhoiException Si la valeur d'entrée est nulle
	 */
	private static void run(Optional<Object> opt) throws WahhoiException {
		if (opt.isPresent()) {
			System.out.println("sensationnel");
		} else {
			throw new WahhoiException("wahhoi");
		}
	}

}

Ainsi, vous pouvez faire une exception originale Cela n'a peut-être pas de sens car cela existe déjà, mais je l'ai fait un peu!

Par exemple, comme ça

NoRecordException.java


package exception;

/**
 * <b>Exception qui se produit lorsque le nombre de résultats de recherche est égal à 0.</b>
 *
 * @author me
 *
 */
public class NoRecordException extends Exception{

	//Évitement d'avertissement
	private static final long serialVersionUID = 1L;

	/**
	 * Constructor.
	 *
	 * @Param msg Message de sortie
	 */
	public NoRecordException(String msg) {
		super(msg);
	}
}

Model1.java


package model;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;

import exception.NoRecordException;

/**
 * <b>Model1.</b>
 *
 * @author me
 *
 */
public class Model1 {

	/**
	 *Recherche par clé primaire.<p>
	 *Rechercher une table fictive avec la clé primaire,Renvoie les données correspondantes dans une liste.<p>
	 *Assurez-vous d'obtenir une exception.
	 *
	 * @clé primaire du paramètre id
	 * @retour Liste des données applicables
	 * @jette NoRecordException Si l'enregistrement cible n'existe pas
	 */
	public List<Model1> find(String id) throws NoRecordException{
		List<Model1> modelList = Collections.synchronizedList(new ArrayList<Model1>());
		// SELECT * FROM table;
		if (!modelList.isEmpty()) {
			return modelList;
		} else {
			throw new NoRecordException("L'enregistrement cible n'existait pas.");
		}
	}

	/** ID */
	private Integer id;
	/**Nom*/
	private String name;
	/**Nom du créateur*/
	private String createdBy;
	/**Date et heure de création*/
	private Date createdAt;
	/**Nom du programme de mise à jour*/
	private String updatedBy;
	/**Mettre à jour la date et l'heure*/
	private Date updatedAt;

	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getCreatedBy() {
		return createdBy;
	}
	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}
	public Date getCreatedAt() {
		return createdAt;
	}
	public void setCreatedAt(Date createdAt) {
		this.createdAt = createdAt;
	}
	public String getUpdatedBy() {
		return updatedBy;
	}
	public void setUpdatedBy(String updatedBy) {
		this.updatedBy = updatedBy;
	}
	public Date getUpdatedAt() {
		return updatedAt;
	}
	public void setUpdatedAt(Date updatedAt) {
		this.updatedAt = updatedAt;
	}

}

Recherchez des données dans la table et faites une exception s'il n'y a aucun enregistrement.

PracticeException2.java


package test;

import java.util.List;

import exception.NoRecordException;
import model.Model1;

/**
 * Test.
 *
 * @author me
 *
 */
public class PracticeException2 {

	/** Model1 */
	private static Model1 model1 = new Model1();

	/**
	 * main
	 *
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println(run());
	}

	/**
	 *Rechercher une table fictive,Obtenez le premier des enregistrements.<p>
	 *Si l'enregistrement correspondant n'existe pas,{@code null}Revenir.<p>
	 *
	 * @renvoyer les résultats de la recherche
	 */
	private static Model1 run() {

		try {

			//Rechercher la table,Obtenez le premier
			List<Model1> list = model1.find("id");
			return list.stream().findFirst().get();

		} catch (NoRecordException e) {

			//Si l'enregistrement correspondant n'existe pas
			return null;

		}

	}

}

Eh bien, c'est banal w Dans ce cas, il s'agit d'un problème findFirst, il a donc la même signification que NoSuchElementException. C'est une implémentation presque dénuée de sens ... w

Je me demande si les exceptions ne sont pas quelque chose que vous faites souvent, mais après tout, quels types de cas ne sont pas bons? C'est très important car il vous informe bien.

J'oublierai si je ne l'utilise pas, donc je veux l'utiliser de plus en plus

Mais cela semble être fait moins souvent ...

Recommended Posts

Exception faite par vous-même
exception
Gestion des exceptions
Exception de traitement des exceptions
Percer (fait soi-même)
Gestion des exceptions Java?
À propos de la gestion des exceptions
gestion des exceptions ruby
Méthode de commutation d'exception
Gestion des exceptions Ruby
[Java] Gestion des exceptions
☾ Java / Gestion des exceptions
À propos de la gestion des exceptions Java
Gestion des exceptions Java