Main Page   Modules   Data Structures   Globals   Appendix  

エラー処理
[MISC API]

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_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 ライブラリの関数では、2つの種類のエラーが起こり得る。

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

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


列挙型

enum MErrorCode

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_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 


変数

int merror_code

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

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

void(*) m17n_memory_full_handler(enum MErrorCode err)

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

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

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


このページの先頭

Main Page   Modules   Data Structures   Globals   Appendix  

mulemark