1 回答

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊
5xx 狀態(tài)碼在這里是合適的。503 或 500 似乎都是合理的,具體取決于您認(rèn)為此特定錯(cuò)誤的預(yù)期與意外。
404 表示用戶請求的資源不存在。他們在這種情況下嗎?一些支持的后端服務(wù)可能不存在或可能失敗,但這不是用戶關(guān)心的問題。HTTP 狀態(tài)碼指的是 HTTP 資源,而不是您的后端基礎(chǔ)設(shè)施。并且用戶請求了正確的資源。
當(dāng)返回任何 4xx 狀態(tài)碼時(shí),問問自己:
用戶可以做些什么來修改他們的請求以糾正問題?
如果答案是否定的,那么這不是客戶端錯(cuò)誤,而是服務(wù)器錯(cuò)誤。這將問題置于 5xx 領(lǐng)域。
順便說一句,這看起來像是對異常的不良使用:
if (!file_exists("dbConn.php")) {
throw new Exception("File Not Found");
} else {
//...
}
這基本上是在控制流中使用異常,這就是if本來的用途。您已經(jīng)確定if您要查找的文件不可用。在該if塊中,您可以制作您的響應(yīng)并結(jié)束腳本的執(zhí)行。
所以可能是這樣的:
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
這種事情通常被稱為“保護(hù)條款”。在您的整體操作開始時(shí),您檢查您的先決條件并在必要時(shí)失敗。如果所有保護(hù)子句都通過,則代碼可以安全地繼續(xù)。
- 1 回答
- 0 關(guān)注
- 115 瀏覽
添加回答
舉報(bào)