Coverage for docs_src/handling_errors/tutorial004.py: 100%
16 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-04 08:29 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-04 08:29 +0000
1from fastapi import FastAPI, HTTPException 1abcdefg
2from fastapi.exceptions import RequestValidationError 1abcdefg
3from fastapi.responses import PlainTextResponse 1abcdefg
4from starlette.exceptions import HTTPException as StarletteHTTPException 1abcdefg
6app = FastAPI() 1abcdefg
9@app.exception_handler(StarletteHTTPException) 1abcdefg
10async def http_exception_handler(request, exc): 1abcdefg
11 return PlainTextResponse(str(exc.detail), status_code=exc.status_code) 1hijklmn
14@app.exception_handler(RequestValidationError) 1abcdefg
15async def validation_exception_handler(request, exc): 1abcdefg
16 return PlainTextResponse(str(exc), status_code=400) 1vwxyzAB
19@app.get("/items/{item_id}") 1abcdefg
20async def read_item(item_id: int): 1abcdefg
21 if item_id == 3: 1ohpiqjrksltmun
22 raise HTTPException(status_code=418, detail="Nope! I don't like 3.") 1hijklmn
23 return {"item_id": item_id} 1opqrstu