Python does the same thing. It just calls Throwable something different.
Java Throwable ~= Python BaseException.
Java Exception ~= Python Exception.
The problem here is that a bare except catches something similar to Throwable, not something similar to Exception.