Hello @Fred_Robinson,
Thanks for the feedback, and the in-depth description of the problem, it is really appreciated.
The FP is not consistent.
My guess is that the analyzer cannot resolve the type of the Exceptions. It’s typically due to a project’s properties misconfiguration (probably sonar.java.libraries missing). Checks the logs of the analysis if you see something strange. In addition, I invite you to have a look there, it’s not the same rule, but I believe the resolution is similar.
In addition, the analyzer is supposed to be smart enough to detect that types are missing, but somehow strangely compute a type when using union type. I created a ticket (SONARJAVA-3621) to dig further into this.