That's true - I do like the list of exceptions, but then the logic might get kind of hard?  For example, two cases:

1. ignore every exception except X
2. terminate on every exception except X, which is transient

If the argument is "transient_errors", then in the first case I'd have to enumerate every possible exception that is not the permanent error.  If the argument is "terminal_errors", then in the second case I'd have to enumerate every possible exception that is not the transient exception.

Alternately, I could accept both arguments ("transient_errors" and "terminal_errors") and then interpolate between them - that seems like a somewhat messier interface to me, although I'm not sure about this.