I know I can't create this iterator. What is not clear to me is why the try-catch block is failing to isolate the error and instead I get an assertion failure at runtime.
(note: vec1 has been properly declared and initiliazed)
Code:/* ... */ #include <stdexcept> /* ... */ try { vector<int>::const_iterator ivec = vec1.begin() - 1; } catch (runtime_error err) { cout << err.what(); }