我正在使用ActiveRecord在thor腳本中創建與數據庫的連接。我在這種情況下使用的適配器是mysql2。我想添加一些救援塊到我的代碼,以便爲用戶提供一些特定的錯誤消息。在使用ActiveRecord時,爲什麼Mysql2 :: Error引發並且不是Activerecord錯誤?
當我關閉MySQL服務器在我的本地和嘗試(使用establish_connection)我得到以下錯誤(如預期)
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (Mysql2::Error)
爲什麼我沒有得到一個ActiveRecord :: ConnectionNotEstablished錯誤,而不是連接Mysql2 ::錯誤?我想問的原因是,Mysql2沒有具體的錯誤類型(基於https://github.com/brianmario/mysql2/blob/master/lib/mysql2/error.rb),而活動記錄呢(http://api.rubyonrails.org/files/activerecord/lib/active_record/errors_rb.html)
使用Ruby 1.9.3和3.2.8的ActiveRecord與mysql2 0.3.11
謝謝!
對不起,你可能誤解了這個問題。發生錯誤是因爲我**故意**關閉了服務器。我問的是,爲什麼錯誤不是** ActiveRecord錯誤**,而是當我使用ActiveRecord建立連接時出現** Mysql2 **錯誤。 – Satyam