Attraper un générique exception en Java?

Nous utiliser JUnit 3 au travail et il n'y a pas de ExpectedException annotation. Je voulais ajouter un utilitaire pour notre code pour conclure:

 try {
     someCode();
     fail("some error message");
 } catch (SomeSpecificExceptionType ex) {
 }

J'ai donc essayé ceci:

public static class ExpectedExceptionUtility {
  public static <T extends Exception> void checkForExpectedException(String message, ExpectedExceptionBlock<T> block) {
     try {
        block.exceptionThrowingCode();
        fail(message);
    } catch (T ex) {
    }
  }
}

Cependant, Java ne peut pas utiliser les génériques les types d'exception dans un bloc catch, je pense.

Comment puis-je faire quelque chose comme cela, le travail autour de la Java limitation?

Est-il un moyen de vérifier que le ex variable est de type T?

Twould semble que vous avez raison et c' pas capture génériques. Boiteux stackoverflow.com/questions/2444633/...
Flûte De Merde, Java. C'est juste encore un autre des nombreux obstacles que vous jetez dans notre chemin tout en essayant de faire le code de la moindre nettoyer à l'aide de Java 8 lambdas.

OriginalL'auteur Alex Baranosky | 2010-06-11