How should streaming routes handle pre-stream setup failures without leaking uncaught runtime errors?