class OCI8::NamedError

Constants

UNHANDLED_ERROR

Public Class Methods

===(error) click to toggle source
# File lib/oci8/oci_named_error.rb, line 14
def ===(error)
  error = error.original_exception if error.respond_to?(:original_exception)
  OCIError === error &&
      (error.code.in?([*error_code]) ||
       # ORA-06512: at line 1
       # ORA-20100: some exception description <--- real exception code in the second line
       error.code == UNHANDLED_ERROR &&
           error.message.split("\n")[1].try(:[], /\AORA-(\d+)/, 1).try(:to_i).in?([*error_code]))
end
define_exception(class_name, error_code) click to toggle source
# File lib/oci8/oci_named_error.rb, line 24
      def define_exception(class_name, error_code)
        class_eval(<<-RUBY, __FILE__, __LINE__ + 1)
          class ::#{class_name} < OCI8::OCINamedError
            self.error_code = #{error_code}
          end
        RUBY
      end
error_code() click to toggle source
# File lib/oci8/oci_named_error.rb, line 10
def error_code
  oci_error_code
end