* Compile-time errors versus Execution-time errors; * For a more detailed breakdown of error types, see http://support.sas.com/documentation/cdl/en/lrcon/68089/HTML/default/viewer.htm#n1g8q3l1j2z1hjn1gj1hln0ci5gn.htm ; * Diagnostic: Compile-time error messages are written to the log immediately after the offending code, usually BEFORE the end of the run-group. In contrast, Execution-time error messages are written after the run-group. Some execution errors produce NOTEs rather than ERRORs.; data new; do i = 1 to 10; x = ranuni(-1); outcome; /* compile error, mistyped command */ end; run; data new; do i = 1 to 10; x = ranuni(-1) /* compile error, missing semi-colon */ output; end; run; data more; set new; by x; /* Execution error, ERROR after "run" */ run; /* This example produces an _error_ flag, but no ERROR message */ data new; do i = 1 to 10; x = ranuni(-1); y = x/0; /* execution error without "ERROR" */ output; end; run; /* Missing values are not a compile or execute error, but may be a logical error. */ data new; do i = 1 to 10; x = ranuni(-1); if x lt 0.5 then y = z + x; /* uninitialized z, no ERROR */ else y = x; output; end; run;