Post by cyber pythonif there is a way to distinguish warnings thrown as Exceptions.
In general, a WARNING coming from a GNOME library means that it was fed
an illegal value. We're well accustomed in Java land to having those
result in IllegalArgumentExceptions and so that is the behaviour that
java-gnome exhibits - after all, using a stack track from an unchecked
exception helps us zoom in to where our code went wrong is what we do in
Java.
Of course, you're talking about a WARNING that manifestly is not caused
by your code. I agree a stack trace is less useful in that situation,
but I'm not sure we can tell the difference. Maybe we can. I'm open to
ideas; if someone can figure out a way to differentiate stack frames
that came from our (your) code vs not then I'd be happy to merge it.
Otherwise, you'll need to fix the theme to not misuse GTK. That's
probably a good idea anyway.
WARNINGs to some people are CRITICALs to others; either way, after such
a message appears you can be pretty sure the library in question has
washed its hands of any expectation that further processing will be
correct. Indeed, the working definition of CRITICAL I was given some
years back was "from here on, the program is in an undefined
state" (ouch!) and that any further operations would be grunted to
segfault in fairly short order - in other words, you've got half a
chance to put a breakpoint in there and meanwhile your app is going to
thunder in any second now.
In my experience a WARNING message amounts to the same. Of course there
is no consistency about this, which makes our job (a language binding)
difficult.
AfC
Sydney