Best way to check whether a certain exception type was the cause (of a cause, etc …) in a nested exception?

后端 未结 8 1270
误落风尘
误落风尘 2021-02-03 21:05

I am writing some JUnit tests that verify that an exception of type MyCustomException is thrown. However, this exception is wrapped in other exceptions a number of

8条回答
  •  梦谈多话
    2021-02-03 21:36

    Why would you want to avoid getCause. You can, of course, write yourself a method to perform the task, something like:

    public static boolean isCause(
        Class expected,
        Throwable exc
    ) {
       return expected.isInstance(exc) || (
           exc != null && isCause(expected, exc.getCause())
       );
    }
    

提交回复
热议问题