7.3 错误码和类 |
![]() ![]() |
由MPI返回的错误码完全保留到实现中(与MPI_SUCCESS一起)。这允许实现在错误码中提供尽可能多的信息。(同MPI_ERROR_STRING使用)
对于一个应用将使得解释一个错误码成为可能,例程MPI_ERROR_CLASS将一个错误码转换为一个小的被说明值之一,称为错误类。有效的错误类包括
MPI_SUCCESS 无错误
MPI_ERR_BUFFER 无效缓冲区指针
MPI_ERR_COUNT 无效计数参数
MPI_ERR_TYPE 无效数据类型参数
MPI_ERR_ TAG 无效标识参数
MPI_ERR_COMM 无效通信子
MPI_ERR_RANK 无效标识数
MPI_ERR_REQUEST 无效请求(句柄)
MPI_ERR_ROOT 无效根
MPI_ERR_GROUP 无效组
MPI_ERR_OP 无效操作
MPI_ERR_TOPOLOGY 无效拓扑
MPI_ERR_DIMS 无效维参数
MPI_ERR_ARG 无效其它种类参数
MPI_ERR_UNKNOWN 不知道错误
MPI_ERR_TRUNCATE 接受被截断的消息
MPI_ERR_OTHER 不在表中的所知道的错误
MPI_ERR_INTERN 内部MPI错误
MPI_ERR_LASTCODE 最后标准错误码
实现可以自由的定义更多的错误类;然而,应在合适的地方使用标准错误类。错误类满足,
0 = MPI_SUCCESS<MPI_ERR_…≤MPI_ERR_LASTCODE
理由:MPI_ERR_UNKNOWN和MPI_ERR_OTHER的不同在于MPI_ERROR_STRING能够返回有关MPI_ERR_OTHER的有用的信息。注意MPI_SUCCESS=0对于同C惯例保持一致是必要的;错误类与错误码分开,允许我们这样定义错误类。拥有一个所知道的LASTCODE,将是一完好的健全的检查。(理由结束)
MPI_ERROR_CLASS (errorcode, errorclass)
IN errorcode 由MPI例程返回的错误码
OUT errorclass 相应于errorcode的错误类
int MPI_Error_class (int errorcode, int *errorclass)
MPI_ERROR_CLASS (ERRORCODE, ERRORCLASS, IERROR)
INTEGER ERRORCODE, ERRORCLASS, IERROR
Copyright: NPACT | ![]() ![]() |