While I am not sure I understand your question, the way you handle
exceptions and exit status depends on what you want to do; and this is
mostly independent of whether you are using Julia or some other
language.
In a mature script intended for non-expert users, it would be bad form
to show messages about uncaught exceptions, so you should catch them,
display an error message, and follow some conventions about exit status
that you document in the man page. (Given that Julia is a relatively new
language, you don't see many of these scritps in the wild (yet)).
In a quick & dirty script intended for your own use, you basically do
what you like; for convenience I don't catch exceptions in my own Julia
scripts and just have them display error messages like the ones you show
below. This is sufficient for integration into tools like make (eg for
data analysis where each script handles a single step).
NB: 1. you can't call @edit on throw, it is a built-in, not a generic.
2. the fact that exit() defaults to 0 is documented, you don't need to
look at the source.