如果捕获异常没有专门的处理,只是为了记录日志,那么异常究竟是这样
public void xxx() {
try {
...
...
...
} catch() {
...
}
}
捕获好还是这样
public void xxx() {
try {
...
} catch() {
...
}
try {
...
} catch() {
...
}
try {
...
} catch() {
...
}
}
捕获好,另外,是每一种异常单独捕获
public void xxx() {
try {
...
...
...
} catch(aaException e) {
...
} catch(bbException e) {
...
} catch(Exception e) {
...
}
}
好,还是全部都用Exception捕获
public void xxx() {
try {
...
...
...
} catch(Exception e) {
...
}
}
好?
La manière la plus élégante est de le gérer via Aop, afin que vous n'ayez pas à écrire des try and catch répétés dans le code commercial
Utiliser l'exception
Juste pour tenir un journal, le dernier expliquera le problème.
Il n'est pas nécessaire de subdiviser les journaux, les informations sur la pile d'impression sont claires en un coup d'œil
Cela dépend du scénario : dans le troisième cas, différentes exceptions sont capturées séparément afin de gérer les exceptions capturées de manière fine, comme la capture des exceptions de cache, la commutation de base de données, la capture des exceptions d'E/S et la correction. , etc. ; La quatrième méthode consiste à envelopper une exception et à la traiter une fois, mais certaines informations spécifiques seront perdues
Je crois comprendre que la division en autant de types d'exceptions peut être considérée comme une extension de switch-case
Cela dépend de la situation. Si vous n'avez pas besoin de gérer l'exception, reconstituez simplement l'exception directement au niveau bas. Si vous avez besoin de la gérer, récupérez simplement le réapprovisionnement et gérez-le. Par exemple, vous pouvez définir vos propres informations d'invite pour les exceptions.
Capturez simplement les exceptions auxquelles vous devez prêter attention. D'autres exceptions peuvent être capturées à l'aide d'Exception.