capture program drop exit_message program exit_message syntax, rc(int) progname(str) start_time(str) [CAPture] local end_time "$S_TIME $S_DATE" local time "Start: `start_time'" _n(1) "End: `end_time'" di "" if (`rc' == 0) { di "End: $S_TIME $S_DATE" local paux ran local message "`progname' finished running" _n(2) "`time'" local subject "`progname' `paux'" } else if ("`capture'" == "") { di "WARNING: $S_TIME $S_DATE" local paux ran with non-0 exit status local message "`progname' ran but Stata gave error code r(`rc')" _n(2) "`time'" local subject "`progname' `paux'" } else { di "ERROR: $S_TIME $S_DATE" local paux ran with errors local message "`progname' stopped with error code r(`rc')" _n(2) "`time'" local subject "`progname' `paux'" } di "`subject'" di "" di "`message'" end * From https://github.com/mcaceresb/stata-gtools/blob/fad519ef0454936d450802ac732728ba953957ac/src/test/gtools_tests.do