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( = nil) -> exception
Returns a new Exception object, with an optional message.
2865 2866 2867 |
# File 'lib/source/ruby.rb', line 2865 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.
2856 2857 2858 |
# File 'lib/source/ruby.rb', line 2856 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”.
2875 2876 2877 2878 2879 |
# File 'lib/source/ruby.rb', line 2875 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.
2888 2889 2890 2891 |
# File 'lib/source/ruby.rb', line 2888 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.
2898 2899 2900 2901 |
# File 'lib/source/ruby.rb', line 2898 def inspect `var class_name=this.m$class().__name__.replace(/\\./g,'::')` `this._message==''?$q(class_name):$q('#<'+class_name+': '+(this._message||class_name)+'>')` end |
#message ⇒ Object
call-seq:
exc. -> 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).
2911 2912 2913 |
# File 'lib/source/ruby.rb', line 2911 def `this._message==null?$q(this.m$class().__name__.replace(/\\./g,'::')):$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.
2921 2922 2923 2924 2925 |
# File 'lib/source/ruby.rb', line 2921 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. -> 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).
2935 2936 2937 |
# File 'lib/source/ruby.rb', line 2935 def to_s `this._message==null?$q(this.m$class().__name__.replace(/\\./g,'::')):$q(this._message)` end |
#to_str ⇒ Object
call-seq:
exc. -> 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).
2947 2948 2949 |
# File 'lib/source/ruby.rb', line 2947 def to_str `this._message==null?$q(this.m$class().__name__.replace(/\\./g,'::')):$q(this._message)` end |