mexSetTrapFlag (C and Fortran) - Control response of mexCallMATLAB to errors

C Syntax

#include "mex.h"
void mexSetTrapFlag(int trapflag);

Fortran Syntax

mexSetTrapFlag(trapflag)
integer*4 trapflag

Arguments

trapflag

Control flag. Possible values are

0

On error, control returns to the MATLAB® prompt.

1

On error, control returns to your MEX-file.

Description

Call mexSetTrapFlag to control the MATLAB response to errors in mexCallMATLAB.

If you do not call mexSetTrapFlag, then whenever MATLAB detects an error in a call to mexCallMATLAB, MATLAB automatically terminates the MEX-file and returns control to the MATLAB prompt. Calling mexSetTrapFlag with trapflag set to 0 is equivalent to not calling mexSetTrapFlag at all.

If you call mexSetTrapFlag and set the trapflag to 1, then whenever MATLAB detects an error in a call to mexCallMATLAB, MATLAB does not automatically terminate the MEX-file. Rather, MATLAB returns control to the line in the MEX-file immediately following the call to mexCallMATLAB. The MEX-file is then responsible for taking an appropriate response to the error.

If you call mexSetTrapFlag, the value of the trapflag you set remains in effect until the next call to mexSetTrapFlag within that MEX-file or, if there are no more calls to mexSetTrapFlag, until the MEX-file exits. If a routine defined in a MEX-file calls another MEX-file,

  1. The current value of the trapflag in the first MEX-file is saved.

  2. The second MEX-file is called with the trapflag initialized to 0 within that file.

  3. When the second MEX-file exits, the saved value of the trapflag in the first MEX-file is restored within that file.

C Examples

See mexsettrapflag.c in the mex subdirectory of the examples directory.

See Also

mexAtExit, mexErrMsgTxt

  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS