Как получить доступ к информации об ошибках базы данных при использовании Rails и Postgres

Я использую find_by_sql для подключения к базе данных Postgres и выполнения функции базы данных. Функция базы данных выполняет ряд операторов SQL и при необходимости вызывает исключения.

Как мне перехватить код ошибки и сообщение об ошибке, вызванное функцией Postgres в Rails?

def self.validate_email(systemuserid, emailaddress)
  begin
    result = (self.find_by_sql(["SELECT fn_systemuser_validate_email(?, ?) AS returncode", 
                                systemuserid, emailaddress])).first
  rescue => err
    # I want to get access to the error code and error message here and act accordingly
    # errno = ??
    # errmsg = ??
    if errno == 10000
    end
  end
  return result[:returncode]
end

Я начал с попытки найти эту информацию в объекте соединения - безуспешно.

Любая помощь очень ценится.

5
задан a_horse_with_no_name 21 January 2012 в 10:15
поделиться