Path: csiph.com!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Eric Sosman Newsgroups: comp.lang.java.programmer Subject: Re: Could not find or load main class com.mindprod.ensure.Ensure Date: Tue, 14 Jun 2016 11:31:07 -0400 Organization: A noiseless patient Spider Lines: 24 Message-ID: References: <64htlb5ikduodj9qr700ob3tqbulribl5a@4ax.com> <58be2264-bf4a-4da1-a6b2-8501e9daf435@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Tue, 14 Jun 2016 15:31:21 -0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="2d081e2f7155c28005d4472f67c2f43d"; logging-data="23484"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/rtTmm35rQVojNhVOIA312" User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 In-Reply-To: Cancel-Lock: sha1:bgN4k2SKkNLRl652c3ngaARAvzE= Xref: csiph.com comp.lang.java.programmer:34631 On 6/14/2016 7:59 AM, Eric Douglas wrote: > On Tuesday, June 14, 2016 at 6:34:06 AM UTC-4, Martin Gregorie wrote: >> Your code summarises it pretty nicely. All I'd add is that the user needs >> to know what happened, so if the program uses GUI interface it should log >> the error[1] and report it to the user using a JOptionPane or similar. If >> its a command-line (headless) program it should log the error[1] and >> inform the user by writing one or more lines to System.err. In both cases >> it can simply terminate after its reported what happened. > > We add an email to IT with a screenshot and full details of the error on all our crash logs. (I hope your users "opt in" to this surveillance. Screen shots may reveal information the user might have preferred to keep private, as in the case of Congressional candidate Mike Webb.) But back to the original question: After you've logged or reported or dissected or whatevered the error condition, what next? Swallow the exception and System.exit(), or re-throw the exception from main()? For myself, I'd find System.exit() noticeably *worse* than throwing, since it makes your main() harder to call from places other than JVM startup. -- esosman@comcast-dot-net.invalid "Don't be afraid of work. Make work afraid of you." -- TLM