Be Loud - Be Noisy

        } elsif (/^AC(.*)/) { # ignore ? if there.
           die "Already have accessions: @accs" if @accs;
           @accs = ($1 =~ /\s*(\S+);/g);
        } else {
            # do nothing
        }
  • Exceptions (die, raise, throw) are good.
    • Take effort to shut up.
  • Error return values are bad.
    • Few check them.
    • Double the size of the code
  • Messages to stderr are (nearly) useless
    • too many messages
    • GUI and CGI interfaces
    • Doesn't allow automation
  • Perl's WARN or Pythons 'warnings' are borderline
 
.