Robust applications engage in the give-and-take discussion between commands and return codes. This presentation
encourages applications developers to implement comprehensive return code processing. This paper presents three
distinct categories. First, we consider return codes from SAS®. Second, we consider return codes from the
Windows® (as an example operating system). Third, we discuss development principles for proactively writing your
own return messages. The examples draw from SAS/AF® and Windows®, and affect all SAS applications
development (including robust SAS Macro development). This paper introduces the rich conversation an application
can and should have with its environment. Special attention focuses on error messages and recovering gracefully
from unexpected or unintentional results.