class Crabstone::Error

@private

Constants

ERRNO

Public Class Methods

raise!(klass) click to toggle source
# File lib/crabstone/error.rb, line 68
def self.raise!(klass)
  raise "Invalid error class: #{klass}" unless klass.superclass == self

  raise_errno!(ERRNO.invert[klass])
end
raise_errno!(errno) click to toggle source
# File lib/crabstone/error.rb, line 60
def self.raise_errno!(errno)
  err_klass = ERRNO[errno]
  raise 'Internal Error: Tried to raise unknown errno' unless err_klass

  err_str = Binding.cs_strerror(errno)
  raise err_klass, err_str
end