Assertions that throw InternalCompilerErrors.

Exactly. It is possible to recover from a failed "asserts", but only in the debugger - if there is no debugger, the application crashes. In all parts of solidity, "recovery" is always possible just by throwing an exception.