FASTAPI系列 20-异常处理器exception_handler
文章目录
前言
通常我们可以通过 raise 抛出一个 HTTPException 异常,请求参数不合法会抛出RequestValidationError 异常,这是最常见的2种异常。
一、HTTPException 异常?
向客户端返回 HTTP 错误响应,可以使用 raise 触发 HTTPException。
from fastapi import FastAPI, HTTPException
app = FastAPI()
@app.get("/path/{name}")
async def get_name(name: str):
if name != "Teacher Li":
raise HTTPException(404, detail=f"name: {
name} not found")
return {
"name": name}
二、覆盖默认的HTTPException 异常
查看HTTPException 异常相关源码
from starlette.exceptions import HTTPException as StarletteHTTPException
class HTTPException(StarletteHTTPException):
def __init__(
self,
status_code: int,
detail: Any = None,
headers: Optional[Dict[str, Any]] = None,