e.err 和 e.errstr 有什么区别?

What is the difference between e.err and e.errstr?

我正在尝试使用 Ruby 创建数据库连接,并且遇到了一些建议,如果我将来遇到错误,我应该加入错误通知。

这是包含#{e.err}和#{e.errstr}的示例代码。

e.err 和 e.errstr 是什么意思,它们在处理数据库时有何好处?

    require "dbi"

    begin
        # connect to the MySQL server
        dbh = DBI.connect("DBI:Mysql:TESTDB:localhost", "username", "password")
        # get server version string and display it
        row = dbh.select_one("SELECT VERSION()")
        puts "Server version: " + row[0]
    rescue DBI::DatabaseError => e
        puts "An error occurred"
        puts "Error code:    #{e.err}"
        puts "Error message: #{e.errstr}"
    ensure
        # disconnect from server
        dbh.disconnect if dbh
    end

它们由 ruby 的数据库独立接口提供,

e.err -> will give you the error code like 4xx
e.errstr -> will give you the error message like 'unable to find the specified database'

希望这能说明问题