You can catch such exceptions when enabling SEH (structured exception handling, see
-EH (Exception Handling Model)[
^]).
Because such exceptions occur asynchronous, they are fatal errors and the application should terminate. So catching such exceptions has no benfits for release builds besides generating your own error message or logging them.
But you can use them temporarily to get closer to the source of the problem by inserting try catch blocks at prominent code locations. Once you have a smaller portion of code that throws the exception, inspect it to find probable sources.
If not done so far, ensure that all pointer variables are initialised and perform
assert()
checks for debug builds.
To nail it down:
You have a bug in your code that must be fixed. It can be generally handled by catching the exception due to the asynchronism.