ライブラリ
- ビルトイン (270)
- bigdecimal (12)
- drb (12)
- e2mmap (36)
- json (12)
-
json
/ add / exception (12) -
minitest
/ unit (3) -
net
/ http (12) - rexml (48)
-
rubygems
/ security (12) -
rubygems
/ spec _ fetcher (12) - stringio (12)
- timeout (16)
クラス
-
ARGF
. class (10) - BigDecimal (12)
-
DRb
:: DRbUnknown (12) -
Encoding
:: Converter (12) - Exception (140)
- Fiber (18)
-
Gem
:: Security :: Policy (12) -
Gem
:: SpecFetcher (12) - IO (24)
-
JSON
:: State (12) -
MiniTest
:: Unit (2) -
REXML
:: ParseException (48) - SignalException (24)
- StringIO (12)
- Thread (42)
- TracePoint (12)
モジュール
- Exception2MessageMapper (36)
- Kernel (16)
-
MiniTest
:: Assertions (1) -
Net
:: HTTPExceptions (12)
キーワード
- == (12)
- Fail (6)
- Raise (6)
-
abort
_ on _ exception (12) -
abort
_ on _ exception= (12) - backtrace (12)
-
backtrace
_ locations (12) - bind (6)
- cause (12)
- context (12)
-
def
_ exception (6) -
exception
_ details (1) - fail (6)
- generate (12)
- inspect (12)
-
last
_ error (12) - line (12)
- location (1)
- position (12)
- puke (1)
- raise (18)
-
raised
_ exception (12) -
read
_ nonblock (34) -
report
_ on _ exception (9) -
report
_ on _ exception= (9) - response (12)
-
save
_ exception _ mode (12) -
set
_ backtrace (12) - signm (12)
- signo (12)
- timeout (16)
-
to
_ json (12) -
to
_ s (24) -
verify
_ gem (12) -
warn
_ legacy (12) -
write
_ nonblock (12)
検索結果
先頭5件
-
Exception
# ==(other) -> bool (12125.0) -
自身と指定された other のクラスが同じであり、 message と backtrace が == メソッドで比較して 等しい場合に true を返します。そうでない場合に false を返します。
...自身と指定された other のクラスが同じであり、
message と backtrace が == メソッドで比較して
等しい場合に true を返します。そうでない場合に false を返します。
@param other 自身と比較したいオブジェクトを指定します。......を指定した場合は
Exception#exception を実行して変換を試みます。
//emlist[例][ruby]{
require "date"
def check_long_month(month)
return if Date.new(2000, month, -1).day == 31
raise "#{month} is not long month"
end
def get_exception
return begin
yield
re......ts = [2, 2, 4].map { |e | get_exception { check_long_month(e) } }
p results.map { |e| e.class }
# => [RuntimeError, RuntimeError, RuntimeError]
p results.map { |e| e.message }
# => ["2 is not long month", "2 is not long month", "4 is not long month"]
# class, message, backtrace が同一のため t... -
Exception
# full _ message(highlight: true , order: :bottom) -> String (12119.0) -
例外の整形された文字列を返します。
...例外を標準エラー出力に出力するときと
同じ形式です。
そのため、メソッド呼び出し時に $stderr が変更されておらず、$stderr.tty? が真の場合は
エスケープシーケンスによる文字装飾がついています。
[注意] このメソッドは......highlight と order は 2.5.1 で追加されました。
@param highlight エスケープシーケンスによる文字装飾をつけるかどうかを指定します。
デフォルト値は Exception.to_tty? の返り値と同じです。
@param order :top か :bottom で指......ジの上(top)か下(bottom)かを指定します。
デフォルト値は Exception.to_tty? が真なら :bottom で偽なら :top です。
//emlist[例][ruby]{
begin
raise "test"
rescue => e
p e.full_message # => "\e[1mTraceback \e[m(most recent call last):\ntest.rb:2:in `<mai......じ形式です。
そのため、メソッド呼び出し時に $stderr が変更されておらず、$stderr.tty? が真の場合は
エスケープシーケンスによる文字装飾がついています。
@param highlight エスケープシーケンスによる文字装飾をつけるかど......Exception.to_tty? の返り値と同じです。
@param order :top か :bottom で指定する必要があります。
バックトレースの一番奥がエラーメッセージの上(top)か下(bottom)かを指定します。
デフォルト値は Exception.to_tty? が......ら :bottom で偽なら :top です。
//emlist[例][ruby]{
begin
raise "test"
rescue => e
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"
$stderr = $stdout
p e.full_message # => "test.rb:2:in `<... -
Exception
# message -> String (12107.0) -
エラーメッセージをあらわす文字列を返します。
...エラーメッセージをあらわす文字列を返します。
//emlist[例][ruby]{
begin
1 + nil
rescue => e
p e.message #=> "nil can't be coerced into Fixnum"
end
//}... -
REXML
:: ParseException # position -> Integer (12101.0) -
パースエラーが起きた(XML上の)場所を先頭からのバイト数で返します。
パースエラーが起きた(XML上の)場所を先頭からのバイト数で返します。 -
REXML
:: ParseException # context -> [Integer , Integer , Integer] (9401.0) -
パースエラーが起きた(XML上の)場所を返します。
...ラーが起きた(XML上の)場所を返します。
要素3個の配列で、
[position, lineno, line]
という形で返します。
position, line は
REXML::ParseException#position
REXML::ParseException#line
と同じ値です。
lineno は IO#lineno が返す意味での行数です。
通... -
REXML
:: ParseException # to _ s -> String (9101.0) -
例外情報を文字列化して返します。
例外情報を文字列化して返します。 -
Kernel
# timeout(sec , exception _ class = nil) {|i| . . . . } -> object (6314.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...c 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはい.......
@param exception_class タイムアウトした時、発生させる例外を指定します.
=== 注意
timeout による割り込みは Thread によって実現されています。C 言語
レベルで実装され、Ruby のスレッドが割り込めない処理に対して
timeout は無......力です。
そのような
ものは実用レベルでは少ないのですが、例をあげると Socket などは
DNSの名前解決に時間がかかった場合割り込めません
(resolv-replace を使用する必要があります)。
その処理を Ruby で実装しなおすか C 側で... -
IO
# write _ nonblock(string , exception: true) -> Integer | :wait _ writable (6308.0) -
IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。
...し、string を write(2) システムコールで書き出します。
write(2) が成功した場合、書き込んだ長さを返します。
EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。
書き込んだバイト数(つまり返り値)は String#bytesize......ジェクトに IO::WaitWritable が Object#extend
されます。よって IO::WaitWritable を write_nonblock のリトライが必要
かの判定に用いることができます。
@param string 自身に書き込みたい文字列を指定します。
@param exception false を指定する......込み時に Errno::EAGAIN、Errno::EWOULDBLOCK が発生
する代わりに :wait_writable を返します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX write(2) が失敗した場合に発生します。... -
MiniTest
:: Unit # location(exception) -> String (6302.0) -
与えられた例外の発生した場所を返します。
与えられた例外の発生した場所を返します。 -
Exception2MessageMapper
# def _ e2message(exception _ class , message _ format) -> Class (6242.0) -
すでに存在する例外クラス exception_class に、 エラーメッセージ用フォーマット message_format を関連づけます。
...に存在する例外クラス exception_class に、
エラーメッセージ用フォーマット message_format を関連づけます。
このフォーマットは Exception2MessageMapper#Raise,
Exception2MessageMapper#Fail で使用します。
@param exception_class メッセージを登録......する例外クラスを指定します。
@param message_format メッセージのフォーマットを指定します。
Kernel.#sprintf のフォーマット文字列と同じ形式を使用できます。
@return exception_class を返します。... -
Exception2MessageMapper
# Fail(exception _ class = nil , *rest) -> () (6227.0) -
登録されている情報を使用して、例外を発生させます。
...param exception_class 例外クラス。
@param rest メッセージに埋め込む値。
@raise Exception2MessageMapper::ErrNotRegisteredException 指定された例外クラスに対応するメッセージが存在しない場合に発生します。
例:
class Foo
extend Exception2Mess......ageMapper
p def_exception :NewExceptionClass, "message...%d, %d and %d" # =>
def foo
Raise NewExceptionClass, 1, 2, 3
end
end
Foo.new().foo() #=> in `Raise': message...1, 2 and 3 (Foo::NewExceptionClass)
# という例外が発生します。
Fo......o.Raise Foo::NewExceptionClass, 1, 3, 5 #=> in `Raise': message...1, 3 and 5 (Foo::NewExceptionClass)
# という例外が発生します。... -
Exception2MessageMapper
# Raise(exception _ class = nil , *rest) -> () (6227.0) -
登録されている情報を使用して、例外を発生させます。
...param exception_class 例外クラス。
@param rest メッセージに埋め込む値。
@raise Exception2MessageMapper::ErrNotRegisteredException 指定された例外クラスに対応するメッセージが存在しない場合に発生します。
例:
class Foo
extend Exception2Mess......ageMapper
p def_exception :NewExceptionClass, "message...%d, %d and %d" # =>
def foo
Raise NewExceptionClass, 1, 2, 3
end
end
Foo.new().foo() #=> in `Raise': message...1, 2 and 3 (Foo::NewExceptionClass)
# という例外が発生します。
Fo......o.Raise Foo::NewExceptionClass, 1, 3, 5 #=> in `Raise': message...1, 3 and 5 (Foo::NewExceptionClass)
# という例外が発生します。...