Стандарт MPI-1 предоставлял обработчики ошибок только для коммуникаторов. MPI-2 предоставляет их для трех типов объектов - коммуникаторы, окна и файлы. Расширение было создано с поддержкой только одного типа явного объекта обработчика ошибок. С другой стороны, для Си и С++ объявлены разные определения типов для аргументов типов коммуникатор, файл и окно. В ФОРТРАН же для этого есть три пользовательских функции.
Объект обработчика ошибок создается вызовом функции MPI_XXX_CREATE_ERRHANDLER (function, errhandler), где XXX , соответственно, COMM, WIN, или FILE.
Обработчик ошибок присоединяется к коммуникатору, окну или файлу
вызовом
функции MPI_XXX_SET_ERRHANDLER. Он должен быть или обработчиком
по умолчанию, или созданным вызовом MPI_XXX_CREATE_ERRHANDLER,
с соответствующим XXX. Стандартные обработчики ошибок MPI_ERRORS_RETURN и MPI_ERRORS_ARE_FATAL могут быть присоединены к
коммуникаторам, окнам и файлам. В С++ к ним может также присоединён
стандартный обработчик MPI::ERRORS_THROW_EXCEPTIONS.
Обработчик, ассоциированный с конкретным коммуникатором, окном или файлом может быть получен вызовом MPI_XXX_GET_ERRHANDLER.
Для освобождения обработчика, созданного вызовом MPI_XXX_CREATE_ERRHANDLER может быть использована функция MPI-1 MPI_ERRHANDLER_FREE.
Совет разработчикам: Высококачественная реализация должна индицировать ошибку в случае, если созданный вызовом MPI_XXX_CREATE_ERRHANDLER обработчик присоединяется к объекту неверного типа вызовом MPI_YYY_SET_ERRHANDLER. Для этого следует хранить вместе с обработчиком информацию о типе ассоциированной функции пользователя.[]
Синтаксис таких вызовов приведен ниже.