Question: Exceptions in C++ don't need to be caught (no compile time errors) by the calling function. So it's up to developer's judgment whether to catch them using try/catch (unlike in Java).

Is there a way one can ensure that the exceptions thrown are always caught using try/catch by the calling function?

Answer: 
[Chris](https://stackoverflow.com/questions/1104/#1109)' probably has the best pure answer to the question:

However, I'm curious about the root of the question. If the user should *always* wrap the call in a try/catch block, should the user-called function really be throwing exceptions in the first place?

This is a difficult question to answer without more context regarding the code-base in question. Shooting from the hip, I think the best answer here is to wrap the function up such that the recommended (if not only, depending on the overall exception style of the code) public interface does the try/catch *for* the user. If you're just trying to ensure that there are no unhandled exceptions in your code, unit tests and code review are probably the best solution.
> 
> Is there a way one can ensure that the
>  exceptions thrown are always caught
>  using try/catch by the calling
>  function?
> 
> 
> 

I find it rather funny, that the Java crowd - [including myself](http://dlinsin.blogspot.com/2008/01/wonderful-checked-exceptions.html) - is trying to avoid checked Exceptions. They are trying to work their way around being forced to catch Exceptions by using [RuntimeExceptions](http://java.sun.com/javase/6/docs/api/java/lang/RuntimeException.html).