るりまサーチ

最速Rubyリファレンスマニュアル検索!
88件ヒット [1-88件を表示] (0.008秒)
トップページ > クラス:Exception[x]

ライブラリ

キーワード

検索結果

Exception#==(other) -> bool (1.0)

自身と指定された other のクラスが同じであり、 message と backtrace が == メソッドで比較して 等しい場合に true を返します。そうでない場合に false を返します。

...ます。そうでない場合に false を返します。

@param other 自身と比較したいオブジェクトを指定します。
自身と異なるクラスのオブジェクトを指定した場合は
Exception
#exception を実行して変換を試みます。...

Exception#backtrace -> [String] (1.0)

バックトレース情報を返します。

...ド内の場合)
* "#{sourcefile}:#{sourceline}"
(トップレベルの場合)

という形式の String の配列です。

def methd
raise
end

begin
methd
rescue => e
p e.backtrace
end

#=> ["filename.rb:2:in `methd'", "filename.rb:6"]

@see Exception#backtrace_locations...

Exception#backtrace_locations -> [Thread::Backtrace::Location] (1.0)

バックトレース情報を返します。Exception#backtraceに似ていますが、 Thread::Backtrace::Location の配列を返す点が異なります。

...バックトレース情報を返します。Exception#backtraceに似ていますが、
Thread::Backtrace::Location の配列を返す点が異なります。

現状では Exception#set_backtrace によって戻り値が変化する事はあり
ません。

例: test.rb
require "date"
def ch...
..._exception
return begin
yield
rescue => e
e
end
end

e = get_exception { check_long_month(2) }
p e.backtrace_locations
# => ["test.rb:4:in `check_long_month'", "test.rb:15:in `block in <main>'", "test.rb:9:in `get_exception'", "test.rb:15:in `<main>'"]

@see Exception...

Exception#cause -> Exception | nil (1.0)

self の前の例外(self が rescue 節や ensure 節の中で発生した例外の場合、 その前に発生していた元々の例外)を返します。存在しない場合は nil を返し ます。

self の前の例外(self が rescue 節や ensure 節の中で発生した例外の場合、
その前に発生していた元々の例外)を返します。存在しない場合は nil を返し
ます。

例:
begin
begin
raise "inner"
rescue
raise "outer"
end
rescue
p $! # => #<RuntimeError: outer>
p $!.cause # => #<RuntimeError: inner>
end

Exception#exception -> self (1.0)

引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー を生成し Exception#message 属性を error_message にして返します。

...lf を返します。引数を指定した場合 自身のコピー
を生成し Exception#message 属性を error_message にして返します。

Kernel.#raise は、実質的に、例外オブジェクトの exception
メソッドの呼び出しです。

@param error_message エラーメッセ...
...ージを表す文字列を指定します。

begin
... # 何か処理
rescue => e
raise e.exception("an error occurs during hogehoge process") # 詳しいエラーメッセージ
end...

絞り込み条件を変える

Exception#exception(error_message) -> Exception (1.0)

引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー を生成し Exception#message 属性を error_message にして返します。

...lf を返します。引数を指定した場合 自身のコピー
を生成し Exception#message 属性を error_message にして返します。

Kernel.#raise は、実質的に、例外オブジェクトの exception
メソッドの呼び出しです。

@param error_message エラーメッセ...
...ージを表す文字列を指定します。

begin
... # 何か処理
rescue => e
raise e.exception("an error occurs during hogehoge process") # 詳しいエラーメッセージ
end...

Exception#full_message(highlight: true, order: :bottom) -> String (1.0)

例外の整形された文字列を返します。

...値は Exception.to_tty? の返り値と同じです。

@param order :top か :bottom で指定する必要があります。
バックトレースの一番奥がエラーメッセージの上(top)か下(bottom)かを指定します。
デフォルト値は Exception.to_tt...
...e[1m)\n\e[m"
$stderr = $stdout
p e.full_message # => "test.rb:2:in `<main>': test (RuntimeError)\n"
$stderr = STDERR
p e.full_message # => "\e[1mTraceback \e[m(most recent call last):\ntest.rb:2:in `<main>': \e[1mtest (\e[4;1mRuntimeError\e[m\e[1m)\n\e[m"
end
//}

@see Exception.to_tty?...

Exception#inspect -> String (1.0)

self のクラス名と message を文字列にして返します。

...self のクラス名と message を文字列にして返します。

例:
begin
raise "exception"
rescue
p $!.inspect # => "#<RuntimeError: exception>"
end...

Exception#message -> String (1.0)

エラーメッセージをあらわす文字列を返します。

エラーメッセージをあらわす文字列を返します。

begin
1 + nil
rescue => e
p e.message #=> "nil can't be coerced into Fixnum"
end

Exception#set_backtrace(errinfo) -> nil | String | [String] (1.0)

バックトレース情報に errinfo を設定し、設定されたバックトレース 情報を返します。

バックトレース情報に errinfo を設定し、設定されたバックトレース
情報を返します。

@param errinfo nil、String あるいは String の配列のいずれかを指定します。

//emlist[例:][ruby]{
begin
begin
raise "inner"
rescue
raise "outer"
end
rescue
$!.backtrace # => ["/path/to/test.rb:5:in `rescue in <main>'", "/path/to/test.rb:2:in `<main>'"]
$!.s...

絞り込み条件を変える

Exception#to_json(*args) -> String (1.0)

自身を JSON 形式の文字列に変換して返します。

自身を JSON 形式の文字列に変換して返します。

内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。

@param args 引数はそのまま JSON::Generator::GeneratorMethods::Hash#to_json に渡されます。

//emlist[例][ruby]{
require "json/add/core"

begin
0/0
rescue => e
e.to_json # => "{\"json_class\":\"ZeroDivis...

Exception#to_s -> String (1.0)

エラーメッセージをあらわす文字列を返します。

エラーメッセージをあらわす文字列を返します。

begin
1 + nil
rescue => e
p e.message #=> "nil can't be coerced into Fixnum"
end

Exception.exception(error_message = nil) -> Exception (1.0)

例外オブジェクトを生成して返します。

... Exception#message の値になり、デフォルトの例外ハンドラで表示されます。

例:
e = Exception.new("some message")
p e # => #<Exception: some message>
p e.message # => "some message"

例:
e = Exception.exception("some message")
p e # => #<Exception:...

Exception.json_create(hash) -> Exception (1.0)

JSON のオブジェクトから Ruby のオブジェクトを生成して返します。

JSON のオブジェクトから Ruby のオブジェクトを生成して返します。

@param hash 適切なキーを持つハッシュを指定します。

Exception.new(error_message = nil) -> Exception (1.0)

例外オブジェクトを生成して返します。

... Exception#message の値になり、デフォルトの例外ハンドラで表示されます。

例:
e = Exception.new("some message")
p e # => #<Exception: some message>
p e.message # => "some message"

例:
e = Exception.exception("some message")
p e # => #<Exception:...

絞り込み条件を変える

Exception.to_tty? -> bool (1.0)

$stderr が変更されておらず、$stderr.tty? が真の場合は true を返します。

...変更されておらず、$stderr.tty? が真の場合は true を返します。

[注意] 2.5.1 で追加されたメソッドです。

@see Exception#full_message...
...$stderr が変更されておらず、$stderr.tty? が真の場合は true を返します。


@see Exception#full_message...