Much more graceful client-side error handling.