Best way (and actually, the only way) to handle assertion failures is to go back to source code and fix the bug.
The assertions are not designed to be handled as other exceptions, which may or may not be acceptable. The purpose of the assertion is to capture the situation when you, as a developer,
think that some predicate is
always true, so your check it up, but it turns out to be false during runtime. It simply means that you made a bug.
An assertion is a development tool, like debugger, tracing and similar things, not a runtime facility.
Please see:
http://en.wikipedia.org/wiki/Assertion_%28computing%29[
^].
—SA