2019年3月22日金曜日

rb_raise で指定可能なエラーの一覧

概要

rb_raise は ruby の C API で C 側から Ruby のエラーを発生させることができます
第一引数でエラーの種類を指定することができるのですが情報が見つからないので自分で出してみました
デフォルトで用意されているエラーの一覧になります

環境

  • macOS 10.14.3
  • Ruby 2.5.1p57

一覧

  • rb_eArgError -> ArgError
  • rb_eEOFError -> EOFError
  • rb_eFloatDomainError -> FloatDomainError
  • rb_eIOError -> IOError
  • rb_eIndexError -> IndexError
  • rb_eLoadError -> LoadError
  • rb_eNameError -> NameError
  • rb_eNoMemError -> NoMemError
  • rb_eNotImpError -> NotImpError
  • rb_eRangeError -> RangeError
  • rb_eRuntimeError -> RuntimeError
  • rb_eScriptError -> ScriptError
  • rb_eSecurityError -> SecurityError
  • rb_eStandardError -> StandardError
  • rb_eSyntaxError -> SyntaxError
  • rb_eSystemCallError -> SystemCallError
  • rb_eTypeError -> TypeError
  • rb_eZeroDivError -> ZeroDivError

どうやって出したの

RDoc に管理してる定数があったのでそこから引っ張ってきています
RDoc で管理されているおそらく正解だと思います、、

require 'rdoc'

RDoc::KNOWN_CLASSES.each { |k, v| puts "* #{k} -> #{v}" if k.include?('Error') }

0 件のコメント:

コメントを投稿