10
我的應用程序連接到rabbitMQ。有時,它會拋出一個AMQPTimeoutException。更具體地講「發送錯誤數據的Socket連接超時。」捕捉異常並繼續執行程序是最佳實踐嗎?
我的解決辦法:
我趕上了AMQPTimeoutException和打電話給我重新連接方法。之後程序繼續它的正常執行。另外我設置了一個標誌,以便異常最多處理3次。
try
{
sendMethod($message);
} catch (AMQPTimeoutException $e) {
echo "caught socket connection exception". "\n";
$this->reconnect($message, $exchangeName, $queue);
}
//reconnect internally checks the flag
我的問題:這是最佳做法嗎?如果沒有其他解決方案是可能的?
注意:該應用程序是用PHP編寫的。
在這種情況下,對我來說似乎很好。如果3次嘗試失敗會發生什麼? – Clay
這真的是最好的做法..在用戶上顯示錯誤信息不僅可能給用戶帶來麻煩,而且會給系統中的黑客創建漏洞 –
@clayton程序退出 – user3452275