How do I catch all checked exceptions (in a single block) in Java?

Editor: this problem only involves Java 1.6 (and below) I'm sorry I didn't make it clear in the original post

The hierarchy here shows that Java exceptions are divided into two types: runtimeException instead of runtimeException:

I may have missed something, but wouldn't it be better to divide it into uncheckedexception and checkedexception? For example, the following statement has a considerable number of checked exceptions:

try {
    transaction.commit();
} catch (SecurityException e) {
} catch (IllegalStateException e) {
} catch (RollbackException e) {
} catch (HeuristicMixedException e) {
} catch (HeuristicRollbackException e) {
} catch (SystemException e) {
}

I'm just really interested in whether it succeeds or fails, so I want to handle checked exceptions as a group rather than unchecked exceptions, because it's not a good practice to catch unexpected errors So with this in mind, maybe I can do this:

try {
    transaction.commit();
} catch (Exception e) {
    if (e instanceof RuntimeException) {
        // Throw unchecked exception
        throw e;
    }
    // Handle checked exception
    // ...
}

But it looks very bad Is there a better way?

Solution

If I understand correctly, then you are almost there Grab runtimeException This will capture the runtimeException and everything below it Then there is a vulnerability in exception, and you are covered:

try {
    transaction.commit();
} catch (RuntimeException e) {
    // Throw unchecked exception
    throw e;
} catch (Exception e) {
    // Handle checked exception
    // ...
}
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>