- - - 目次

Exception

全ての例外の祖先のクラスです.

スーパークラス:

Object

クラスメソッド:

new([error_message = ""])

引数としてエラーメッセージを表す文字列を与えることができます. このメッセージはデフォルトの例外ハンドラで表示されます.

メソッド:

backtrace

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

"#{sourcefile}:#{sourceline}:in `#{method}'"
(メソッド内の場合)
"#{sourcefile}:#{sourceline}"
(トップレベルの場合)
という形式(デフォルトでは)のStringの配列です.

message
to_s
to_str

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

set_backtrace(errinfo)

バックトレース情報にerrinfoを設定します. errinfoStringの配列でなくてはなりません.


Interrupt

trapされていないSIGINTを受け取ると発生します.

スーパークラス:

Exception

NotImplementError

実装されていない機能が呼び出されたときに発生します.

スーパークラス:

Exception

SignalException

signal(2)を受け取ったときに発生します. rescueで捕捉できません.

スーパークラス:

Exception

StandardError

rescueでクラスを省略したときに捕捉される例外です.

スーパークラス:

Exception

SystemExit

Rubyを終了させます.

スーパークラス:

Exception

fatal

致命的なエラー(内部的なエラー)のときに発生します.
例えば:

  • メモリが不足したとき
  • デッドロックが発生したとき
  • -xオプションや-Xオプションで指定されたディレクトリに移動できないとき
  • inplace edit できないとき
などです.

スーパークラス:

Exception

ArgumentError

引数の数があっていないときや,値が正しくないときに発生します.

Math.sqrt(-1)など

スーパークラス:

StandardError

FloatDomainError

正負の無限大やNaNBignumに変換しようとしたり, NaNとの比較を行ったときに発生します.

スーパークラス:

StandardError

IndexError

添字が範囲外のときに発生します.

スーパークラス:

StandardError

IOError

I/Oでエラーが起きたときに発生します.

スーパークラス:

StandardError

LoadError

requireが失敗したときに発生します.

スーパークラス:

StandardError

LocalJumpError

スコープを出てしまったProcからの return, break, next, redo, retryで発生します.

スーパークラス:

StandardError

NameError

未定義のローカル変数や定数を使用したときに発生します.

スーパークラス:

StandardError

RuntimeError

実行時例外です. raiseExceptionを指定しないとこの例外になります.

スーパークラス:

StandardError

SecurityError

セキュリティ上の問題が起きたときに発生します.

スーパークラス:

StandardError

SyntaxError

シンタックスエラーがあったときに発生します.

スーパークラス:

StandardError

SystemCallError

システムコールが失敗した時に発生する例外です.
実際にはSystemCallErrorそのものではなく,サブクラスである Errnoモジュールの内部クラス (各errnoと同じ名前)です.

スーパークラス:

StandardError

メソッド:

errno

システムから返されたerrnoの値を返します.


SystemStackError

スタックレベルが深くなりすぎたときに発生します.

スーパークラス:

StandardError

TypeError

不正な型を使用したときに発生します.

スーパークラス:

StandardError

ThreadError

Thread関連のエラーが起きたときに発生します.

  • カレントスレッドをjoinしようとしたとき
  • joinでデッドロックしそうになったとき
  • 終了したスレッドをwakeupしようとしたとき
  • スレッドが一つしかないのにstopしようとしたとき
  • イテレータを与えずにスレッドを生成しようとしたとき
  • throwがスレッド内で catchされないとき
  • スレッドからreturnしようとしたとき

スーパークラス:

StandardError

ZeroDivisionError

0で除算を行ったときに発生します.

スーパークラス:

StandardError

EOFError

EOFに達したときに発生します.

スーパークラス:

IOError

- - - 目次

matz@netlab.co.jp