Is it possible that the exception is being thrown in a different thread? If 
that’s the case, you can use:

https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.UncaughtExceptionHandler.html
 
<https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.UncaughtExceptionHandler.html>

to capture it.


Rob.


> On 2 Nov 2015, at 12:22, Lawrence Krubner <lawre...@rollioforce.com> wrote:
> 
> 
> Now there is a new error. 
> 
> Somehow, when the exception happens in our Java library, even though we, in 
> theory, write to System.out.println(), I never see the Exception in the logs. 
> 
> All I can think is that somewhere in the Java library there is an exception 
> that we catch but we forget to do System.out.println(). Can anyone think of 
> another explanation? 
> 
> 
> 
> 
> On Sunday, November 1, 2015 at 5:10:19 PM UTC-5, Lawrence Krubner wrote:
> So, we eventually fixed this. There were 2 bugs that worked together to make 
> this a mystery. I had to guess at what the problems were, and fix them blind, 
> since I could not see the Exceptions. I am curious about why I was not able 
> to see the Exceptions. 
> 
> About this:
> 
> > Exceptions are ALWAYS visible, the only way they get lost is 
> > the try/catch blocks you added in your code which effectively 
> > swallow and ignore them.
> 
> But the Exceptions I dealt with were invisible. We have the Clojure app set 
> up to run via Supervisord and the conf has these lines:
> 
> stderr_logfile=/var/log/nlph_stderr.log
> stdout_logfile=/var/log/nlph_stdout.log
> 
> So in 2 terminal windows I would:
> 
> cd /var/log
> 
> tail -f nlph_stdout.log
> 
> And the same for nlph_stderr.log.
> 
> So I was looking at the output in my terminal window. And I could see all of 
> our logging statements appear. And the code clearly got to the line where the 
> exception happens, but then the Exception never appeared in the terminal. It 
> was invisible. I assume the output of this: 
> 
>             System.out.println(e.getMessage());
> 
> would appear in one of the files that I was tailing. But it never did. 
> 
> So I am wondering why the Exceptions were invisible? Why didn't the print 
> statements make it to the terminal? 
> 
> 
> 
> 
> On Saturday, October 31, 2015 at 6:56:23 AM UTC-4, Thomas Heller wrote:
> 
> What could we do to make the Exception visible, assuming there is one? 
> 
> 
> Exceptions are ALWAYS visible, the only way they get lost is the try/catch 
> blocks you added in your code which effectively swallow and ignore them. The 
> JVM will not randomly lose an Exception, it is always code you write that 
> decided to handle them in some way. If you do not know how to handle an 
> exception do not catch it, printing its stacktrace and ignoring it is never a 
> good idea.
> 
> In your case since you say that the function never returns I'd put my guess 
> on an infinite loop. There is no exception that gets lost, your code is just 
> still running. If your JVM is running locally you can attach to it via 
> jvisualvm [1] and get a quick overview of what the JVM is doing. If you look 
> at the thread information you'll see if something is still running or 
> dead-locked somehow.
> 
> You can also use a debugger and step through the java code step by step.
> 
> Also, consider coding against interfaces in java (eg. java.util.List and 
> java.util.Map instead of java.util.Collection), it will save you tons of 
> conversion calls.
> 
> HTH
> /thomas
> 
> [1] https://visualvm.java.net/ <https://visualvm.java.net/>
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en 
> <http://groups.google.com/group/clojure?hl=en>
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to clojure+unsubscr...@googlegroups.com 
> <mailto:clojure+unsubscr...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to