diff --git a/starlette/responses.py b/starlette/responses.py index 31874f655..a82fdb21a 100644 --- a/starlette/responses.py +++ b/starlette/responses.py @@ -341,7 +341,7 @@ async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None: stat_result = await anyio.to_thread.run_sync(os.stat, self.path) self.set_stat_headers(stat_result) except FileNotFoundError: - raise RuntimeError(f"File at path {self.path} does not exist.") + pass else: mode = stat_result.st_mode if not stat.S_ISREG(mode): diff --git a/tests/test_responses.py b/tests/test_responses.py index d5ed83499..20bcc8775 100644 --- a/tests/test_responses.py +++ b/tests/test_responses.py @@ -299,9 +299,8 @@ def test_file_response_with_missing_file_raises_error(tmp_path: Path, test_clien path = tmp_path / "404.txt" app = FileResponse(path=path, filename="404.txt") client = test_client_factory(app) - with pytest.raises(RuntimeError) as exc_info: + with pytest.raises(FileNotFoundError): client.get("/") - assert "does not exist" in str(exc_info.value) def test_file_response_with_chinese_filename(tmp_path: Path, test_client_factory: TestClientFactory) -> None: