Это технически возможно, если вы работаете с отладчиком. Вы не рассказали всю историю. Отладчик сначала отобразит диалог, когда будет выбрано исключение. Он похож на это (шахта VS2012 на Windows 8):
Если нажать кнопку Разорвать, то отладчик будет перерыв в заявлении броска, давая вам возможность инспектировать состояние. Когда вы нажимаете кнопку «Продолжить», то исключение игнорируется, и программа будет продолжаться, как будто ничего не произошло. Это также происходит, когда вы ломаетесь, а затем возобновляете работу.
Это функция, а не ошибка, это позволяет вам спасти отладочную сессию, на которой вы уже потратили много времени. Конечно, не всегда полезно продолжать, так как ваша программа, вероятно, находится в плохом состоянии, но альтернатива тоже невелика. Вы почти всегда хотите одобрить нажатие Break и использовать отладчик для исправления состояния, чтобы вы могли осмысленно продолжить отладку.
Конечно, это не произойдет без отладчика, ваша программа мгновенно завершится.
Единственный возможный способ, с помощью которого происходит раскручивание стека, заключается в том, что выписывает исключение catch. Независимо от того, отлаживаетесь вы или нет.
попробуйте использовать пространство имен std, а не все std ::, мне трудно понять, в чем вопрос? – Gilad
@ Андроид: Это плохая идея и не имеет ничего общего с вопросом. –
@MikeSeymour это был комментарий, и почему это плохая идея? – Gilad