Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Abort an evaluation as soon as a message is generated
| ResourceFunction["AbortOnMessage"][eval] aborts evaluation of eval if a message occurs. | |
| ResourceFunction["AbortOnMessage"][eval,quiet] aborts on message but disregards messages in quiet. | |
| ResourceFunction["AbortOnMessage"][eval,quiet,listen] forces an abort for any message in listen, even if it is quieted. | 
Abort an evaluation as soon as a message occurs:
| In[1]:= | ![ResourceFunction["AbortOnMessage"][Table[First[i], {i, 5}]]](https://www.wolframcloud.com/obj/resourcesystem/images/d76/d769091e-c08c-4b19-babf-b37b895b9a0e/418d2ae69e065a15.png)  | 
| Out[1]= |   | 
Ignore some messages:
| In[2]:= | ![ResourceFunction["AbortOnMessage"][
 Table[First[i], {i, 5}], {First::normal}]](https://www.wolframcloud.com/obj/resourcesystem/images/d76/d769091e-c08c-4b19-babf-b37b895b9a0e/0035816c46c78672.png)  | 
| Out[2]= |   | 
Trigger an abort even if a message is suppressed with Quiet:
| In[3]:= | ![ResourceFunction["AbortOnMessage"][
 Quiet[1/0, {Power::infy}], None, {Power::infy}]](https://www.wolframcloud.com/obj/resourcesystem/images/d76/d769091e-c08c-4b19-babf-b37b895b9a0e/718efb5c8c9b224a.png)  | 
| Out[3]= |   | 
AbortOnMessage will stop an evaluation rather than just suppress additional messages:
| In[4]:= | ![ResourceFunction["AbortOnMessage"][
 Table[Print[Last[Range[-n]]], {n, -2, 2}]]](https://www.wolframcloud.com/obj/resourcesystem/images/d76/d769091e-c08c-4b19-babf-b37b895b9a0e/6b15894f8fc4fb33.png)  | 
 
    
   | Out[4]= |   | 
Use CheckAbort to “catch” aborts and replace with some other expression rather than aborting an entire evaluation:
| In[5]:= | ![Table[CheckAbort[
  ResourceFunction["AbortOnMessage"][1/n], $Failed], {n, -3, 3}]](https://www.wolframcloud.com/obj/resourcesystem/images/d76/d769091e-c08c-4b19-babf-b37b895b9a0e/74bf3a8a4680d6b9.png)  | 
| Out[5]= |   | 
Any messages given in the third argument will take precedence over the second argument:
| In[6]:= | ![ResourceFunction["AbortOnMessage"][
 Table[First[1], 5], {First::normal}, {}]](https://www.wolframcloud.com/obj/resourcesystem/images/d76/d769091e-c08c-4b19-babf-b37b895b9a0e/4351a10e3ac758e3.png)  | 
| Out[6]= |   | 
| In[7]:= | ![ResourceFunction["AbortOnMessage"][
 Table[First[1], 5], {First::normal}, {First::normal}]](https://www.wolframcloud.com/obj/resourcesystem/images/d76/d769091e-c08c-4b19-babf-b37b895b9a0e/767005b7dede4787.png)  | 
| Out[7]= |   | 
This work is licensed under a Creative Commons Attribution 4.0 International License