Exception: Exception
- Defined in:
- lib/source/ruby.rb
Overview
Instances of Exception
and its descendants are used to communicate between raise
methods and rescue
statements in begin
/end
blocks. Exception
objects carry information about the exception – its type (the exception’s class name), an optional descriptive string, and optional traceback information. Applications may subclass Exception
to add additional information.
Direct Known Subclasses
Class Method Summary collapse
-
.exception(arg) ⇒ Object
call-seq: Exception.exception(arg) -> exception.
Instance Method Summary collapse
-
#backtrace ⇒ Object
call-seq: exc.backtrace -> array.
-
#exception(arg) ⇒ Object
call-seq: exc.exception(arg) -> exception or exc.
-
#initialize(msg) ⇒ Exception
constructor
call-seq: Exception.new(message = nil) -> exception.
-
#inspect ⇒ Object
call-seq: exc.inspect -> string.
-
#message ⇒ Object
call-seq: exc.to_message -> string exc.to_s -> string exc.to_str -> string.
-
#set_backtrace(ary) ⇒ Object
call-seq: exc.set_backtrace(array) -> array.
-
#to_s ⇒ Object
call-seq: exc.to_message -> string exc.to_s -> string exc.to_str -> string.
-
#to_str ⇒ Object
call-seq: exc.to_message -> string exc.to_s -> string exc.to_str -> string.
Constructor Details
#initialize(msg) ⇒ Exception
call-seq:
Exception.new(message = nil) -> exception
Returns a new Exception
object, with an optional message.
2852 2853 2854 |
# File 'lib/source/ruby.rb', line 2852 def initialize(msg) `if(msg!=null){this._message=msg._value;}` end |
Class Method Details
.exception(arg) ⇒ Object
call-seq:
Exception.exception(arg) -> exception
Equivalent to Exception::new
.
2843 2844 2845 |
# File 'lib/source/ruby.rb', line 2843 def self.exception(arg) `this.m$new(arg)` end |
Instance Method Details
#backtrace ⇒ Object
call-seq:
exc.backtrace -> array
Returns any backtrace associated with the exception. The backtrace is an array of strings, each containing “/path/to/filename:line”.
2862 2863 2864 2865 2866 |
# File 'lib/source/ruby.rb', line 2862 def backtrace `if(this._stack==null){return [];}` `for(var i=0,lines=this._stack.match(/@[^\\n]+:\\d+/g),l=lines.length,result=[];i<l;++i){result.push($q(lines[i].match(/@\\w+:\\/*(\\/[^\\n]+:\\d+)/)[1]));}` return `result` end |
#exception(arg) ⇒ Object
call-seq:
exc.exception(arg) -> exception or exc
If arg is absent or equal to exc, returns the receiver. Otherwise returns a new Exception
object of the same class as the receiver, but with a message equal to arg.to_str
.
2875 2876 2877 2878 |
# File 'lib/source/ruby.rb', line 2875 def exception(arg) `if(arg==null||arg==this){return this;}` `this.m$class().m$new(arg.m$toStr())` end |
#inspect ⇒ Object
call-seq:
exc.inspect -> string
Returns exc’s class name and message.
2885 2886 2887 2888 |
# File 'lib/source/ruby.rb', line 2885 def inspect `var class_name=this.m$class()._name` `this._message==''?$q(class_name):$q('#<'+class_name+': '+(this._message||class_name)+'>')` end |
#message ⇒ Object
call-seq:
exc.to_message -> string
exc.to_s -> string
exc.to_str -> string
Returns exc’s message (or the name of the exception class if no message is set).
2898 2899 2900 |
# File 'lib/source/ruby.rb', line 2898 def `this._message==null?$q(this.m$class()._name):$q(this._message)` end |
#set_backtrace(ary) ⇒ Object
call-seq:
exc.set_backtrace(array) -> array
Sets the backtrace information associated with exc. The argument must be an array of String
objects in the format described in Exception#backtrace
.
2908 2909 2910 2911 2912 |
# File 'lib/source/ruby.rb', line 2908 def set_backtrace(ary) `for(var i=0,l=ary.length,result='';i<l;++i){result=result+'@xx://'+ary[i]._value+'\\n';}` `this._stack=result` return `ary` end |
#to_s ⇒ Object
call-seq:
exc.to_message -> string
exc.to_s -> string
exc.to_str -> string
Returns exc’s message (or the name of the exception class if no message is set).
2922 2923 2924 |
# File 'lib/source/ruby.rb', line 2922 def to_s `this._message==null?$q(this.m$class()._name):$q(this._message)` end |
#to_str ⇒ Object
call-seq:
exc.to_message -> string
exc.to_s -> string
exc.to_str -> string
Returns exc’s message (or the name of the exception class if no message is set).
2934 2935 2936 |
# File 'lib/source/ruby.rb', line 2934 def to_str `this._message==null?$q(this.m$class()._name):$q(this._message)` end |