Comment lancer une exception de bloc personnalisée en Java


Je voudrais savoir que comment puis-je utiliser une exception de bloc personnalisée en java.je vais vous expliquer sur l'exemple suivant.

@connexion

//Below code snippet do log in functionality.
mycode goes here

String name="abc";
if name.equals("ABC")
{
  enter to system ...
}

Sortie de la console

You have error on log in 

@registre

//Below code snippet do register functionality.

mycode goes here

Disons dans l'annotation @login qu'il y a une erreur de mon code.java devrait le lancer comme un bon moyen lisible.L'exception devrait être comme une exception régulière et où il génère.je veux dire bloc de code dans ce cas, il est connecté.Si vous vous inscrivez il devrait dire u ont une erreur dans le bloc de code de registre.

De plus, je ne déclare pas d'annotation au-dessus de method.In mon cas il n'y a pas une telle méthode et tout gère les annotations. comme un exemple

Classe d'étudiant

class student{
@login
login related codes goes here

@View Result
view result related codes goes here

@logout
logout code goes here

}

À titre d'exemple, vous pouvez considérer la classe ci-dessus comme un sélénium script.in scripts nous n'utilisons aucune méthode.je veux implémenter une classe back-end (annotations) qui donne et des erreurs significatives dans le bloc de code associé.(connexion, affichage résultat,...)

Lorsque l'utilisateur écrit un nouveau script, il peut réutiliser mon annotation.

En fait, c'est une idée que je veux implémenter.Parce que si j'aime ça ce sera facile pour mon application users.so Je voudrais savoir que peut-il possible de faire et si oui, comment puis-je le faire.Si vous connaissez un autre moyen, faites-moi part de vos idées.Grâce.

Author: gihan, 2015-07-20

1 answers

Je ne suis pas convaincu de bien comprendre la question, mais si vous cherchez à créer une exception personnalisée, vous pouvez procéder comme suit:

if name.equals("ABC") {
    // do something
} else {
    throw new CustomException("Name did not equal 'ABC'");
}

Où l'exception personnalisée est définie comme:

public class CustomException extends Exception {

    public CustomException(String msg) {
        super(msg);
    }
}

Et puis partout où vous devez gérer l'exception, cela ressemblerait à:

try {
    // do something that might throw a CustomException
} catch (CustomException ce) {
    ce.printStackTrace();
    // or do something more useful to handle the exception
}

Et si vous suivez cette voie, je l'appellerais autre chose que CustomException, appelez-le quelque chose qui est pertinent pour le problème auquel l'exception se rapporte, par exemple NameNotEqualException.

 1
Author: adamconkey, 2015-07-20 19:16:23