NETCDF_ERROR(3F)

Date: TOYODA Eizi
Source: 2000-03-02

名前

netcdf_error - netcdf モジュールで発生するエラーの抽象化

書式

use netcdf

type(NC_ERROR):: error

! type(NC_ERROR) 型の処理

if (.error. error) ... ! 論理型でエラーの有無を得る write(*, *) char(Message(error)) ! 文字型メッセージを得る call Assert(error) ! エラーがあれば終了

! エラー保存機能

integer:: netcdf_status character(len = 適当な値):: where, cause type(VARYING_STRING):: cause_string

subroutine NetcdfSaveError(error) subroutine NetcdfSaveError(netcdf_status, where, cause) subroutine NetcdfSaveError(netcdf_status, where, cause_string)

type(NC_ERROR) function NetcdfLastError()

subroutine NetcdfAssert()

! エラー型の生成

type(NC_ERROR) function NC_ERR(netcdf_status, where, cause) type(NC_ERROR) function NC_ERR(netcdf_status, where, cause_string)

説明

エラー構造体とその取り扱い

netcdf モジュールを通じて提供される NC_ERROR 構造型は netcdf モジュールで発生するエラーの抽象的化です。

モジュール netcdf で定義される多くの関数が type(NC_ERROR) 型を返します。 ユーザは以下に紹介する手続を用いてエラーを処理すべきです。 プログラムが停止してはならないという理由がなければ Assert(nc_error) サブルーチンを呼び出すのがもっとも簡便です。

type(NC_ERROR) 型のとる値にはエラーとみなされるものと そうでないものがあります。 論理形を返す単項演算子 .error. nc_error はエラーの場合真を返します。

関数 Message(nc_error) は可変長文字列型 type(VARYING_STRING) でエラーメッセージを返します。 可変長文字列については iso_varying_string(3f) を参照してください。

サブルーチン Assert(nc_error) はエラーでない場合は何もせず終了し、 エラーの場合は外部装置 "*" に エラーメッセージを印字したあと終了します。

エラー保存機能

エラー状態以外の情報を返す手続はエラーの有無を NetcdfSaveError サブルーチンを使って保存します。 保存されたエラー情報は NetcdfLastError 関数によって取得できます。 call Assert(NetcdfLastError()) のかわりに call NetcdfAssert という省略記法を用いることができます。

備考

NC_ERROR 構造体は netcdf_error モジュールで定義されています。 しかし通常は netcdf モジュールを呼び出すべきです。

作者

豊田英司 toyoda@gfd-dennou.org

参照

dc_string(3f), netcdf_file(3f), netcdf_dimension(3f), netcdf_variable(3f), netcdf_v3(3f) netcdf(3f),
HTML generated using htroff at 22 March 2000 4:52:36.