Do you use the exit codes?  Not a bad idea to have them defined, but you have string constants elsewhere instead of using them.