09-21-2017 06:03 AM
I am loogin at implementing a generic process of error handling on all the IML scripts we run in our company. Ideally, it would be something like this:
%LET IsIMLError = 0; /* flag that is set to 1 in case if an error */ proc iml; OnError do; /* is this somehow possible? */ %LET IsIMLError = 1; write_error_to_text_file; /* pseudo-code */ ABORT; end; /* IML code goes here*/ quit;
The idea is to always trigger the error handling section whenever an error appears, no matter the nature of the error. Right now I can't figure out if the 'OnError' event exists in SAS/IML (or something with similar functionality). Any hints?
09-21-2017 06:15 AM
Read the doc chapter "Generating and Executing Statements", which has two sections on error handling.
Be sure you are also familiar with the ways to handle run-time errors in modules.
If I may offer some advice: Whenever possible, it is better, easier, and cleaner to detect and handle SAS/IML errors BEFORE they occur. This is different than the try/catch paradigm in some other languages.