Kuina-chan

くいなちゃん2018年12月11日


プログラミング言語Kuin」の言語仕様14、例外コードについてです。

1Kuin例外コード

Kuinで使われる例外コードは表1-1の通りです。
表1-1: Kuin例外コード
例外コード
(16進数)
定数 説明
00000000

0000FFFF
excpt@userMin

excpt@userMax
ユーザが自由に使える例外コード
C0000005 excpt@accessViolation 不正なメモリアクセス(主にnullインスタンスを参照すると発生)
C0000017 excpt@noMemory メモリ不足
C0000090 excpt@floatInvalidOperation floatの演算結果がNaNになると発生
C0000094 excpt@intDivideByZero intなどの整数型で0で除算すると発生。 floatでは発生しない
C00000FD excpt@stackOverflow スタックオーバーフロー(主に無限に再帰呼び出しすると発生)
C000013A excpt@ctrlCExit コンソールアプリにおいてユーザがCtrl+Cで終了しようとすると発生
E9170000 excpt@dbgAssertFailed assert文の条件式がfalseになると発生(デバッグモードのみ)
E9170001 excpt@classCastFailed キャストできないクラスにキャストすると発生
E9170002 excpt@dbgArrayIdxOutOfRange 配列の範囲外にアクセスすると発生(デバッグモードのみ)
E9170003 excpt@dbgIntOverflow intの演算がオーバーフローすると発生(デバッグモードのみ)
E9170004 excpt@invalidCmp cmpメソッドを継承していないクラスや、比較できない型を比較すると発生
E9170006 excpt@dbgArgOutDomain 関数に渡す引数が定義域の範囲外(デバッグモードのみ)
E9170007 excpt@fileReadFailed ファイルの読み込みに失敗
E9170008 (v.2017.11.17以降)
excpt@invalidDataFmt
(v.2017.10.17以前)
excpt@invalidDataFormat
ファイルやデータの形式が不正
E9170009 excpt@deviceInitFailed デバイスやウインドウ等の初期化に失敗
E917000A excpt@dbgInoperableState 該当の操作が行える状態になっていない(デバッグモードのみ)
excpt.knに上記の定数が定義されています。
E9170009(excpt@deviceInitFailed)などの対処が困難な例外は、無理に対処せずにそのまま終了させるのも一つです。
1544533451jaf