class Mysql::Error

Constants

ERRNO

Attributes

errno[R]
error[R]
sqlstate[R]

Public Class Methods

define_error_class(prefix_re) click to toggle source
# File lib/mysql/error.rb, line 9
def self.define_error_class(prefix_re)
  self.constants.each do |errname|
    errname = errname.to_s
    next unless errname =~ prefix_re
    errno = self.const_get errname
    excname = errname.sub(prefix_re,'').gsub(/(\A.|_.)([A-Z]+)/){$1+$2.downcase}.gsub(/_/,'')
    klass = Class.new self
    klass.const_set 'ERRNO', errno
    self.const_set excname, klass
    self::ERROR_MAP[errno] = klass
    Mysql::Error.const_set errname, errno
  end
end
new(message, sqlstate='HY000', errno=nil) click to toggle source
Calls superclass method
# File lib/mysql/error.rb, line 25
def initialize(message, sqlstate='HY000', errno=nil)
  @sqlstate = sqlstate
  @error = message
  @errno = errno || self.class::ERRNO
  super message
end