前 - 上 - 次 - 目次

# Exception

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

## スーパークラス:

  `Object`

## クラスメソッド:

  `new([error_message = ""])`
  `exception([error_message = ""])`

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

## メソッド:

  `backtrace`

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

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

    `self`を返します．このメソッドは `raise`内部で使われ ています．

  `message`
  `to_s`
  `to_str`

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

  `set_backtrace(errinfo)`

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

# 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

  正負の無限大や`NaN`を`Bignum`に変換しようとしたり， `NaN`との比較を行ったときに発生します．

## スーパークラス:

  `StandardError`

# IndexError

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

## スーパークラス:

  `StandardError`

# IOError

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

## スーパークラス:

  `StandardError`

# LoadError

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

## スーパークラス:

  `StandardError`

# LocalJumpError

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

## スーパークラス:

  `StandardError`

# NameError

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

## スーパークラス:

  `StandardError`

# RuntimeError

  実行時例外です． `raise`で `Exception`を指定しないとこの例外になります．

## スーパークラス:

  `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