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!
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