Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How can I write my Mathematica code so that it resumes at a specific place if any Message is displayed during the execution of an expression? For example, in Visual Basic for Applications there's on error resume next, or on error goto. I'd like also to be able to log the issue in a list so I can reproduce and correct the problem later.

share|improve this question
You've looked at Check, Catch,Throw and CheckAbort ? [ Whispers: oh and there is also Goto ]. – image_doctor Nov 14 '12 at 17:35
Check this too – Rojo Nov 14 '12 at 17:36
Check is what are I need, and the other possibilities are interesting also, thanks. – faysou Nov 14 '12 at 21:14
@image_doctor as your comment answers the question can you please write a proper answer ? – faysou Feb 1 '13 at 11:30
@image_doctor, maybe you can answer the question now? :) – J. M. Apr 28 '13 at 16:24


Check[expr, failexpr] evaluates expr, and returns the result, unless messages were generated, in which case it evaluates and returns failexpr.

Check[expr, failexpr, {s1::t1, s2::2, …}] checks only for the specified messages.

Check[expr, failexpr, "name"] checks only for messages in the named message group.


CheckAbort[expr, failexpr] evaluates expr, returning failexpr if an abort occurs.

Other information that may prove useful:

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.