Well, we _would_ produce a compile error if we had a bug in our code that would allow adding an exception type more than once. But we definetly _will_ produce a compile error if by chance the order of the catch-blocks produces unreachable code, e.g.:

```java
        try {
            foo();
        } catch (Exception e) {
            //...
        } catch (IllegalArgumentException iae) {
            // unreachable, as Exception is a super-class of IllegalArgumentException
        }
```

We could implement our own ```UniqueList``` or something that could ensure adding elements only once. But I don't know if that's what we want, as it could shadow other problems we would have when blindly adding exception types in any order...