概要
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 件のコメント:
コメントを投稿