回答
你的意思是,這樣的事情?
begin
db = open_mysql_connection
# do stuff
ensure
# this block is always executed, even if exception is raised
db.close
end
順便說一下,評論應該是「這個塊總是被執行」。如果另一個線程在您輸入確認後但在執行db.close之前發送了「raise」或「kill」,則連接可能會泄漏。 stdlib的['Timeout :: timeout'](http://www.ruby-doc.org/stdlib-1.9.3/libdoc/timeout/rdoc/Timeout.html#method-c-timeout)僅僅使用這樣一種固有的不安全線程競賽來做生意。 – dbenhur 2013-03-04 05:56:58
@dbenhur:有趣的,必須看看它。 – 2013-03-04 05:58:06
Charles Nutter詳細描述了'Thread#raise'和朋友的固有詭計:[Ruby的Thread#raise,Thread#kill,timeout.rb和net/protocol.rb庫被破壞](http://blog.headius的.com/2008/02 /紅寶石threadraise-threadkill-timeoutrb.html) – dbenhur 2013-03-04 06:01:49
- 1. 如何確保sqlite數據庫連接在調試過程中被關閉?
- 2. 如何在數據庫連接關閉後保存更改
- 3. 關閉數據庫連接
- 4. 覆蓋子敲定做出數據庫確保連接關閉
- 5. 如何正確關閉MySql數據庫連接
- 6. 如何正確關閉連接到SQLite數據庫?
- 7. 在Dispose方法中關閉數據庫連接是否正確?
- 8. .Net數據庫如何正確關閉我的數據庫連接?
- 9. 如何在Android中關閉數據庫連接
- 10. 如果連接在spring jpa中關閉,如何重新連接數據庫?
- 11. 要關閉或不關閉數據庫中的連接
- 12. 關閉DataMapper數據庫連接
- 13. asp.net; repeater.databind和數據庫連接關閉
- 14. 關閉和打開數據庫連接?
- 15. CodeIgniter數據庫連接沒有關閉
- 16. Play Framework:數據庫連接池關閉
- 17. 在Python中,如何在離開代碼塊之前確保數據庫連接始終關閉?
- 18. 如何關閉數據源mysql連接
- 19. Ruby Net :: IMAP:關閉連接
- 20. 關閉Ruby連接(DRb :: DRbConnError)
- 21. Ruby on Rails如何釋放數據庫資源並關閉連接?
- 22. Vaadin和休眠 - 正確關閉數據庫連接
- 23. 查找未正確關閉的數據庫連接
- 24. 確保psycopg2數據庫連接有效
- 25. 數據庫連接關閉後無法關閉迭代器
- 26. 如何保持ssh連接關閉?
- 27. ExpressJS - 如何正確關閉MySQL連接
- 28. 使數據庫關閉後log4net重新連接到數據庫
- 29. 如何關閉PostgreSQL數據庫上的空閒連接
- 30. 使用erlang mysql模塊,數據庫連接如何關閉?
這就是'開始'/'救援'/'確保'(又名'try' /'catch' /'finally')。 – 2013-03-04 05:12:51