Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #34628

Re: Could not find or load main class com.mindprod.ensure.Ensure

From Martin Gregorie <martin@address-in-sig.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: Could not find or load main class com.mindprod.ensure.Ensure
Date 2016-06-14 10:33 +0000
Organization A noiseless patient Spider
Message-ID <njomij$ev7$1@dont-email.me> (permalink)
References (1 earlier) <64htlb5ikduodj9qr700ob3tqbulribl5a@4ax.com> <58be2264-bf4a-4da1-a6b2-8501e9daf435@googlegroups.com> <njnkkt$jeh$1@dont-email.me> <njnoa4$17j3$1@gioia.aioe.org> <njnrth$606$1@dont-email.me>

Show all headers | View raw


On Mon, 13 Jun 2016 22:58:44 -0400, Eric Sosman wrote:

>      What should the main() of a GUI application do if something
> further down the line throws HeadlessException?
> 
>      Okay, that's a RuntimeException and perhaps we could fix the
> wording to prohibit only the checked exceptions.  But even so: If main()
> catches an InterruptedException from something further down, what action
> can main() take that would be better than just letting the IE propagate
> outward?
> 
> 	public static void main(String[] args) {
> 	    try {
> 	        // "payload" of main()
> 	    } catch (InterruptedException ex) {
> 	        LOGGER.severe("I was interrupted!", ex);
> 	        Thread.currentThread().interrupt();
> 	        // now what?
> 	    } catch (Exception ex) {
> 	        LOGGER.severe("I'm thrown for a loss!", ex);
> 	        // now what?
> 	    }
> 	}
> 
> What "constructive" or "useful" steps could be taken in the catch blocks
> that would be "better" than letting main() throw the Exception?
> In situations where there *is* something better, well sure: Do the
> better thing.  But is it a given that something better is possible?
>
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.

[1] logging the error is a good idea on systems that support a central 
logging system and can be skipped when running on a system that doesn't. 
The benefit of logging the error as well as telling the user is just that 
the sysadmin has a sporting chance of finding out what really happened if 
the user either doesn't tell anybody or gives a garbled report.


-- 
martin@   | Martin Gregorie
gregorie. | Essex, UK
org       |

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Could not find or load main class com.mindprod.ensure.Ensure Roedy Green <inquiry@mindprod.com> - 2016-06-13 06:51 -0700
  Re: Could not find or load main class com.mindprod.ensure.Ensure Roedy Green <inquiry@mindprod.com> - 2016-06-13 07:02 -0700
    Re: Could not find or load main class com.mindprod.ensure.Ensure Eric Douglas <e.d.programmer@gmail.com> - 2016-06-13 07:15 -0700
  Re: Could not find or load main class com.mindprod.ensure.Ensure Roedy Green <inquiry@mindprod.com> - 2016-06-13 07:35 -0700
    Re: Could not find or load main class com.mindprod.ensure.Ensure Lew <lewbloch@gmail.com> - 2016-06-13 13:48 -0700
      Re: Could not find or load main class com.mindprod.ensure.Ensure Roedy Green <inquiry@mindprod.com> - 2016-06-13 14:11 -0700
      Re: Could not find or load main class com.mindprod.ensure.Ensure Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-06-13 20:54 -0400
        Re: Could not find or load main class com.mindprod.ensure.Ensure Arne Vajhøj <arne@vajhoej.dk> - 2016-06-13 21:57 -0400
          Re: Could not find or load main class com.mindprod.ensure.Ensure Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-06-13 22:58 -0400
            Re: Could not find or load main class com.mindprod.ensure.Ensure Martin Gregorie <martin@address-in-sig.invalid> - 2016-06-14 10:33 +0000
              Re: Could not find or load main class com.mindprod.ensure.Ensure Eric Douglas <e.d.programmer@gmail.com> - 2016-06-14 04:59 -0700
                Re: Could not find or load main class com.mindprod.ensure.Ensure Martin Gregorie <martin@address-in-sig.invalid> - 2016-06-14 15:11 +0000
                Re: Could not find or load main class com.mindprod.ensure.Ensure Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-06-14 11:31 -0400
                Re: Could not find or load main class com.mindprod.ensure.Ensure Eric Douglas <e.d.programmer@gmail.com> - 2016-06-14 09:00 -0700
                Re: Could not find or load main class com.mindprod.ensure.Ensure Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-06-14 13:18 -0400
                Re: Could not find or load main class com.mindprod.ensure.Ensure Eric Douglas <e.d.programmer@gmail.com> - 2016-06-14 10:38 -0700
                Re: Could not find or load main class com.mindprod.ensure.Ensure Lew <lewbloch@gmail.com> - 2016-06-14 12:55 -0700
                Re: Could not find or load main class com.mindprod.ensure.Ensure Eric Douglas <e.d.programmer@gmail.com> - 2016-06-14 13:14 -0700
                Re: Could not find or load main class com.mindprod.ensure.Ensure Lew <lewbloch@gmail.com> - 2016-06-14 13:34 -0700
                Re: Could not find or load main class com.mindprod.ensure.Ensure Eric Douglas <e.d.programmer@gmail.com> - 2016-06-14 13:58 -0700
          Re: Could not find or load main class com.mindprod.ensure.Ensure Lew <lewbloch@gmail.com> - 2016-06-14 12:52 -0700
            Re: Could not find or load main class com.mindprod.ensure.Ensure Stanimir Stamenkov <s7an10@netscape.net> - 2016-06-15 02:46 +0300
              Re: Could not find or load main class com.mindprod.ensure.Ensure Lew <lewbloch@gmail.com> - 2016-06-15 12:22 -0700
              Re: Could not find or load main class com.mindprod.ensure.Ensure Martin Gregorie <martin@address-in-sig.invalid> - 2016-06-16 01:17 +0000
                Re: Could not find or load main class com.mindprod.ensure.Ensure Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-06-15 21:56 -0400
                Re: Could not find or load main class com.mindprod.ensure.Ensure Martin Gregorie <martin@address-in-sig.invalid> - 2016-06-16 11:01 +0000

csiph-web