resources) and everything works fine. And the runtime catches any slips with an appropriate handling (abort instead of corrupt memory).
Runtime errors that could have been a compile time error should always be caught at compile time. Spurious runtime errors are just as bad as null pointer accesses.