m17n ライブラリ 1.8.4
読み取り中…
検索中…
一致する文字列を見つけられません
列挙型 | 変数
エラー処理

m17n ライブラリのエラー処理. [詳解]

列挙型

enum  MErrorCode {
  MERROR_NONE ,
  MERROR_OBJECT ,
  MERROR_SYMBOL ,
  MERROR_MTEXT ,
  MERROR_TEXTPROP ,
  MERROR_CHAR ,
  MERROR_CHARTABLE ,
  MERROR_CHARSET ,
  MERROR_CODING ,
  MERROR_RANGE ,
  MERROR_LANGUAGE ,
  MERROR_LOCALE ,
  MERROR_PLIST ,
  MERROR_MISC ,
  MERROR_WIN ,
  MERROR_X ,
  MERROR_FRAME ,
  MERROR_FACE ,
  MERROR_DRAW ,
  MERROR_FLT ,
  MERROR_FONT ,
  MERROR_FONTSET ,
  MERROR_FONT_OTF ,
  MERROR_FONT_X ,
  MERROR_FONT_FT ,
  MERROR_IM ,
  MERROR_DB ,
  MERROR_IO ,
  MERROR_DEBUG ,
  MERROR_MEMORY ,
  MERROR_GD ,
  MERROR_MAX
}
 m17n ライブラリエラーコードの列挙. [詳解]
 

変数

int merror_code
 m17n ライブラリのエラーコードを保持する外部変数.
 
void(* m17n_memory_full_handler )(enum MErrorCode err)
 メモリ割当てエラーハンドラ.
 

詳解

m17n ライブラリのエラー処理.

m17n ライブラリの関数では、2つの種類のエラーが起こり得る。

一つは引数のエラーである。 ライブラリの関数が妥当でない引数とともに呼ばれた場合、その関数はエラーを意味する値を返し、同時に外部変数 merror_code にゼロでない整数をセットする。

もう一つの種類はメモリ割当てエラーである。 システムが必要な量のメモリを割当てることができない場合、ライブラリ関数は外部変数 m17n_memory_full_handler が指す関数を呼ぶ。デフォルトでは、関数 default_error_handle() を指しており、この関数は単に exit () を呼ぶ。

列挙型詳解

◆ MErrorCode

enum MErrorCode

m17n ライブラリエラーコードの列挙.

m17n ライブラリエラーコードの列挙

ライブラリの関数が妥当でない引数とともに呼ばれた場合には、変数 merror_code をこれらの値のどれかにセットする。すべてのエラーコードは正の整数である。

メモリ割当てエラーの際には、外部変数 m17n_memory_full_handler の指す関数が、これらの値のうちのどれかを引数として呼ばれる。

列挙値
MERROR_NONE 
MERROR_OBJECT 
MERROR_SYMBOL 
MERROR_MTEXT 
MERROR_TEXTPROP 
MERROR_CHAR 
MERROR_CHARTABLE 
MERROR_CHARSET 
MERROR_CODING 
MERROR_RANGE 
MERROR_LANGUAGE 
MERROR_LOCALE 
MERROR_PLIST 
MERROR_MISC 
MERROR_WIN 
MERROR_X 
MERROR_FRAME 
MERROR_FACE 
MERROR_DRAW 
MERROR_FLT 
MERROR_FONT 
MERROR_FONTSET 
MERROR_FONT_OTF 
MERROR_FONT_X 
MERROR_FONT_FT 
MERROR_IM 
MERROR_DB 
MERROR_IO 
MERROR_DEBUG 
MERROR_MEMORY 
MERROR_GD 
MERROR_MAX 

変数詳解

◆ merror_code

int merror_code

m17n ライブラリのエラーコードを保持する外部変数.

外部変数 merror_code は、m17n ライブラリのエラーコードを保持する。 ライブラリ関数が妥当でない引数とともに呼ばれた際には、この変数を enum MErrorCode の一つにセットする。

この変数の初期値は 0 である。

◆ m17n_memory_full_handler

void(* m17n_memory_full_handler) (enum MErrorCode err) ( enum MErrorCode  err)

メモリ割当てエラーハンドラ.

変数 m17n_memory_full_handler は、ライブラリ関数がメモリ割当てに失敗した際に呼ぶべき関数へのポインタである。 errenum MErrorCode のうちのいずれかであり、どのライブラリ関数でエラーが起ったかを示す。

初期設定では、この変数は単に exit()err を引数として呼ぶ関数を指している。

これとは異なるエラー処理を必要とするアプリケーションは、この変数を適当な関数に設定することで、目的を達成できる。


m17n-lib Home