It's not possible in C++ but most platforms have some way for you to catch this error. Generally, about all you can do is shut down your application in a controlled way. At the point you catch the error, your process context is contaminated and unless you can fix the error, if you attempt to resume, it will just cause another exception.
I would suggest wrapping this DLL. In this case, using an executable just to service the DLL. Catch the exception (with Windows, use SetUnhandledExceptionFilter) and in the filter, just silently terminate. Have your main executable notice that the wrapper process disappeared and launch a new one. You can use one executable file if you have it take a parameter that causes it to start up as the wrapper.