Exceptions in the modules head?


Did the new version get less tolerant of exceptions, as it starts to use them a bit? I just had one fire and crash an app, but I’d bet it’s always been a problem. Is there some kind of JUCE_LOG_EXCEPTIONS macro I can turn on?



Not really… Was it your own exception, or one generated by the library?


From another library, but included as source code, like juce is now. I don’t recall the exception firing before though. It’s a new project file, from the Introjucer, and there’s some different behaviour.

I guess I’ll catch it - try to see where else it might happen.



Well, I try to follow good C++ practice nowadays, which means to not catch 3rd party exceptions, but to try to make sure my code is exception-safe in places where 3rd-party code may throw something.


This particular exception was because a socket wouldn’t bind to an address definitely a non-fatal error. I guess I’ll catch it myself.

Is that C++ guideline explained somewhere, so we can see why/what?


Anywhere that talks about C++ exception handling should give you the gist. But basically, if you’re using code that may throw something, you can’t expect my code to handle that, because it has no idea what the exception means. You’d need to make sure you catch things yourself if you don’t want them to be considered as an unhandled exception.