Class: OCI8::OCINamedError
- Inherits:
-
OCIError
- Object
- OCIError
- OCI8::OCINamedError
- Defined in:
- lib/oci8/oci_named_error.rb
Constant Summary collapse
- UNHANDLED_ERROR =
6512
Class Method Summary collapse
Class Method Details
.===(error) ⇒ Object
14 15 16 17 18 19 20 21 22 |
# 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..split("\n")[1].try(:[], /\AORA-(\d+)/, 1).try(:to_i).in?([*error_code])) end |
.define_exception(class_name, error_code) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/oci8/oci_named_error.rb', line 24 def define_exception(class_name, error_code) class_eval("class ::\#{class_name} < OCI8::OCINamedError\nself.error_code = \#{error_code}\nend\n", __FILE__, __LINE__ + 1) end |
.error_code ⇒ Object
10 11 12 |
# File 'lib/oci8/oci_named_error.rb', line 10 def error_code oci_error_code end |