1 回答
TA贡献2039条经验 获得超7个赞
5xx 状态码在这里是合适的。503 或 500 似乎都是合理的,具体取决于您认为此特定错误的预期与意外。
404 表示用户请求的资源不存在。他们在这种情况下吗?一些支持的后端服务可能不存在或可能失败,但这不是用户关心的问题。HTTP 状态码指的是 HTTP 资源,而不是您的后端基础设施。并且用户请求了正确的资源。
当返回任何 4xx 状态码时,问问自己:
用户可以做些什么来修改他们的请求以纠正问题?
如果答案是否定的,那么这不是客户端错误,而是服务器错误。这将问题置于 5xx 领域。
顺便说一句,这看起来像是对异常的不良使用:
if (!file_exists("dbConn.php")) {
throw new Exception("File Not Found");
} else {
//...
}
这基本上是在控制流中使用异常,这就是if本来的用途。您已经确定if您要查找的文件不可用。在该if块中,您可以制作您的响应并结束脚本的执行。
所以可能是这样的:
if (!file_exists("dbConn.php")) {
http_response_code(500);
die 'Unable to process the request.';
}
// No need for an "else" here, just continue as normal
这种事情通常被称为“保护条款”。在您的整体操作开始时,您检查您的先决条件并在必要时失败。如果所有保护子句都通过,则代码可以安全地继续。
- 1 回答
- 0 关注
- 64 浏览
添加回答
举报