replaced catch-all except with error-specific one