Top / Errno English

NAME

jjErrno - error handler

SYNOPSIS

#include <jj/errno.h>
jjErrno handler; モジュールごとに定義する、モジュール識別用オブジェクト
jjerrno() エラー値の取得
jjraise() エラー値の設定
jjerrork() エラー状態の明示的解除
jjonerr 文; エラー時の処理
jjonerr {複文} (同上)

DESCRIPTION

エラー処理を行うための method を提供するライブラリです。

jjErrno は、C++ や Java でいう例外処理(exception handling)ではなく、 伝統的な C の errno と同じ位置づけのツールです。

では、古くさくて無価値なのかと言えば、そうではありません。 B.Meyer が OOSC で述べている以下の2点に注目したい と考えています:

  1. 例外の乱用は goto と同じ混乱をまねく
  2. 伝統的な方法(エラーステータスをチェックする方式)の方が 優れている場合が多い。
即ち、エラー処理は伝統的な方法の方がよい場合がある、というわけです。 ここに、このモジュールの価値があります。

OOSC: Object-Oriented Software Construction(邦題:オブジェクト指向入門), Bertrand Meyer。言語 Eiffel の作者。

SIDE EFFECTS

EXAMPLES

sample01.cpp

SEE ALSO

BUGS


NAME
jjerrno() - get current error status

SYNOPSIS

#include <jj/errno.h>

int jjerrno();

DESCRIPTION

get current error status

INPUTS

OUTPUTS

RETURN

0 - no error
!0 - error

SIDE EFFECTS

EXAMPLES

SEE ALSO

BUGS


NAME
jjraise() - raise error

SYNOPSIS

#include <jj/errno.h>

void jjraise(jjErrno &eh, short errno);

DESCRIPTION

カテゴリー eh、エラー値 errno でエラー状態をセットする。

INPUTS

eh モジュールID。アプリケーション側で、アプリケーションあるいは モジュール単位で定義しておく。
errno アプリケーション側で定義するエラー値 16bit。

OUTPUTS

-

RETURN

SIDE EFFECTS

EXAMPLES

SEE ALSO

BUGS


NAME
jjerrok()

SYNOPSIS

#include <jj/errno.h>

jjerrok();

DESCRIPTION

jjErrno のエラー状態をリセットする。

INPUTS

OUTPUTS

RETURN

SIDE EFFECTS

EXAMPLES

SEE ALSO

BUGS


NAME
jjonerr - control process flow on error

SYNOPSIS

#include <jj/errno.h>

jjonerr statement;
jjonerr {multiple statements}

DESCRIPTION

エラーが発生している場合、statement を実行する。
複文の場合も同様。

INPUTS

OUTPUTS

RETURN

SIDE EFFECTS

EXAMPLES

SEE ALSO

BUGS