作为http响应引发异常

2024-06-16 14:51:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用django和vue编写一个程序员。我是否可以将异常作为http响应引发,这样我就可以在任何地方引发异常,而不需要在django view函数中捕获它,然后将其重新组装为新的http响应

伪码

try:
  a = ['0']
  b = a[2]
except IndexError as e:
  raise ExceptionAsHttpResponse(status=404, reason='haha')  # Not implemented, hope to get your help.

引发异常AshtPresponse后,前端只需获取状态和原因


Tags: django函数viewhttpasstatus地方程序员
1条回答
网友
1楼 · 发布于 2024-06-16 14:51:23

是的,你可以,你可以简单地使用^{}。例如:

from django.http import Http404

try:
  a = ['0']
  b = a[2]
except IndexError as e:
  raise Http404('your reason')

但一般来说,不应该这样做,因为http响应应该从视图中生成。如果您有助手函数或服务方法,那么最好从那里引发一个通用错误(即IndexError),并在视图中捕获它们,然后呈现一个错误响应

相关问题 更多 >