Is there any way to get at the actual messages generated during the evaluation of an expression in Mathematica? Say I m numerically solving an ODE and it blows up, like so
In[1] := sol = NDSolve[{x [t] == -15 x[t], x[0] == 1}, x, {t, 0, 1},
Method -> "ExplicitEuler"];
In this case, I ll get the NDSolve::mxst
error, telling me the maximum number of 10000 steps was reached at t == 0.08671962566152185
. Now, if I look at the $MessageList
variable, I only receive the message name; in particular, the information about the value of t
where NDSolve
decided to quit has been lost.
Now, I can always get that information from sol
using the InterpolatingFunctionDomain
function from one of the standard add-on packages, but if I can somehow pull it out of the message, it would be quite helpful.