Вопросы с тегом «throw»

378
В чем разница между `throw new Error` и` throw someObject`?

Я хочу написать общий обработчик ошибок, который будет отлавливать пользовательские ошибки, специально созданные в любом экземпляре кода. Когда я сделал, throw new Error('sample')как в следующем коде try { throw new Error({'hehe':'haha'}); // throw new Error('hehe'); } catch(e) { alert(e);...

284
Лучшие практики для отлова и повторного выброса исключений .NET

Какую наилучшую практику следует учитывать при отлове исключений и повторном их отбрасывании? Я хочу убедиться, что Exceptionобъект InnerExceptionи трассировка стека сохранены. Есть ли разница между следующими блоками кода в способе их обработки? try { //some code } catch (Exception ex) { throw ex;...

127
Почему я не могу добавить внутрь обработчика Promise.catch?

Почему я не могу просто вызвать Errorобратный вызов внутри catch и позволить процессу обрабатывать ошибку, как если бы она была в любой другой области? Если я не сделаю console.log(err)ничего, ничего не распечатывается, и я ничего не знаю о том, что произошло. Процесс просто заканчивается ......

123
Следует ли использовать спецификатор исключения в C ++?

В C ++ вы можете указать, что функция может или не может генерировать исключение, используя спецификатор исключения. Например: void foo() throw(); // guaranteed not to throw an exception void bar() throw(int); // may throw an exception of type int void baz() throw(...); // may throw an exception of...

117
Вопросы об исключениях C ++ при повторном вызове исходного исключения

Будет ли следующий метод append () в catch вызывать повторное создание исключения, чтобы увидеть эффект от вызова append ()? try { mayThrowMyErr(); } catch (myErr &err) { err.append("Add to my message here"); throw; // Does the rethrow exception reflect the call to append()? } Точно так же,...

115
В C ++, если throw является выражением, каков его тип?

Я заметил это в одном из своих кратких набегов на Reddit: http://www.smallshire.org.uk/sufficientlysmall/2009/07/31/in-c-throw-is-an-expression/ В основном автор указывает, что в C ++: throw "error" это выражение. На самом деле это довольно четко прописано в стандарте C ++ как в основном тексте,...

109
Как работают исключения (за кулисами) в c ++

Я все время вижу, как люди говорят, что исключения - это медленно, но я никогда не вижу никаких доказательств. Поэтому вместо того, чтобы спрашивать, есть ли они, я спрошу, как исключения работают за кулисами, чтобы я мог принимать решения о том, когда их использовать и медленные ли они. Насколько...

100
Разница между спецификатором throw () C ++ 03 C ++ 11 noexcept

Есть ли какая-то разница между throw()и, noexceptкроме проверки во время выполнения и во время компиляции, соответственно? В этой статье Wikipedia C ++ 11 предполагается, что спецификаторы throw C ++ 03 устарели. Почему так, noexceptдостаточно ли для того, чтобы охватить все это во время...