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