我有一個過程,是一個begin
rescue
循環中,看起來像這樣:是否有可能開始..救援不捕捉異常?
begin
# do some stuff
rescue Exception => e
Rails.logger.info "#{e.response.message}"
end
是否有可能在這抓不住一個例外?出於某種原因,我的過程正在運行,不會拋出錯誤,但隨機不工作。
我有一個過程,是一個begin
rescue
循環中,看起來像這樣:是否有可能開始..救援不捕捉異常?
begin
# do some stuff
rescue Exception => e
Rails.logger.info "#{e.response.message}"
end
是否有可能在這抓不住一個例外?出於某種原因,我的過程正在運行,不會拋出錯誤,但隨機不工作。
也許你可以臨時評論救援塊:
#begin
...
#rescue Exception => e
#Rails.logger.info "#{e.response.message}"
,或者你可以提高救援提出這個異常:
begin
do some stuff
rescue Exception => e
Rails.logger.info "#{e.response.message}"
raise e
end
只需使用:
# do some stuff
沒有任何開始/救援塊,並看看哪個錯誤出來。假設它是NoMethodError
。也許你在你的一些代碼中有一個錯字,比如"abc".spilt
。 糾正它。再試一次,也許你會得到Errno::ECONNRESET
。
嘗試:
begin
# do some stuff
rescue Errno::ECONNRESET => e
Rails.logger.info "#{e.message}"
end
沖洗和重複,而是從頭開始。 rescue Exception
只是too much。
您是否在生產環境?因爲你不應該在那裏看到信息記錄。 – Ursus
如果您營救「例外」,任何事情都可能發生。你應該趕上'StandardError' –
_「不工作」_比較模糊,你能更具體嗎? – Stefan