1Kuin例外コード
Kuinで使われる例外コードは表1-1の通りです。
例外コード | 定数 | 説明 |
---|---|---|
0x00000001 ~ 0x0000FFFF |
excpt@userMin ~ excpt@userMax |
ユーザが自由に使える例外コード |
0xC0000005 | excpt@accessViolation | 不正なメモリアクセス(主にnullインスタンスを参照すると発生) |
0xC0000017 | excpt@noMem | メモリ不足 |
0xC0000094 | excpt@intDivideByZero | intなどの整数型で0で除算すると発生。 floatでは発生しない |
0xC00000FD | excpt@stackOverflow | スタックオーバーフロー(主に無限に再帰呼び出しすると発生) |
0xC000013A | excpt@ctrlCExit | コンソールアプリにおいてユーザがCtrl+Cで終了しようとすると発生 |
0xE9170000 | excpt@dbgAssertFailed | assert文の条件式がfalseになると発生(デバッグモードのみ) |
0xE9170001 | excpt@classCastFailed | キャストできないクラスにキャストすると発生 |
0xE9170002 | excpt@dbgArrayIdxOutOfRange | 配列の範囲外にアクセスすると発生(デバッグモードのみ) |
0xE9170004 | excpt@invalidCmp | cmpメソッドを継承していないクラスを比較すると発生 |
0xE9170006 | excpt@dbgArgOutDomain | 関数に渡す引数が定義域の範囲外(デバッグモードのみ) |
0xE9170007 | excpt@fileOpenFailed | ファイルのオープンに失敗 |
0xE9170008 | excpt@invalidDataFmt | 読み込んだファイルやデータの形式が不正 |
0xE9170009 | excpt@deviceInitFailed | デバイスやウインドウ等の初期化に失敗 |
0xE917000A | excpt@dbgInoperableState | 該当の操作が行える状態になっていない(デバッグモードのみ) |
0xE917000B | excpt@creatingInvalidArray | 作成しようとした配列の要素数が負(デバッグモードのみ) |
excpt.knに上記の定数が定義されています。
0xE9170009(excpt@deviceInitFailed)などの対処が困難な例外は、無理に対処せずにそのまま終了させるのも一つです。