2004/12/25 森川靖大
dc_message はメッセージや警告、エラーを出力するためのサブルーチン群を持つ モジュールです。
subroutine MessageNotify(level, where, message, & & i, r, d, L, n, c1, c2, c3) character(*), intent(in) :: level character(*), intent(in) :: where character(*), intent(in) :: message integer , intent(in), optional:: i(:), n(:) real , intent(in), optional:: r(:) real(8) , intent(in), optional:: d(:) logical , intent(in), optional:: L(:) character(*), intent(in), optional:: c1, c2, c3 end subroutine subroutine MessageNotify(number, where, message, & & i, r, d, L, n, c1, c2, c3) integer, intent(in) :: number character(*), intent(in) :: where character(*), intent(in), optional:: message integer , intent(in), optional:: i(:), n(:) real , intent(in), optional:: r(:) real(8) , intent(in), optional:: d(:) logical , intent(in), optional:: L(:) character(*), intent(in), optional:: c1, c2, c3 end subroutine
メッセージ・警告・エラーを出力したい場合に用います。 標準出力に出力されます。
文字型変数 where にはプログラム名 (サブルーチン名) など、 プログラム内のどこでメッセージを出力するのかを示すものを与えます。
文字型変数 message には、出力したい文字列を与えます。 オプション変数 i, r, d, L, s, n, c1, c2, c3 を付加する事も出来ます。 詳細に関しては dc_string モジュールの CPrintf を参照して下さい。
文字型変数 level は出力するメッセージの種類を決める引数で、
'W'
(または'Warning'
など 'W'
で始まる文字) を与える事で警告を、
'E'
(または'Error'
など 'E'
で始まる文字) を与える事で
エラー (メッセージ出力後プログラムを終了) を、
それ以外の文字を与える事で通常のメッセージを出力します。
なお、エラー出力する場合、
エラーコード
は USR_ECHAR
となります。
整数型変数 number に与えた数値は MessageNotify サブルーチンを 介して StoreError サブルーチンに 渡されます。数値がどのような意味を持つのかは エラーコード一覧 を参照して下さい。
出力結果は以下のようになります。
*** MESSAGE [where] *** message *** WARNING [where] *** message *** ERROR (Code number) [where] *** message