Это определяется в 15.1 Выдаче исключения стандарта.
бросок создает временный объект.
то, Как память для этого временного объекта выделяется, является неуказанным.
После того, как создание управления временным объектом передается самому близкому обработчику в стеке вызовов. раскручивание стека между броском и точкой выгоды. Поскольку стек, раскручиваются, любые переменные стека уничтожаются в обратном порядке создания.
, Если исключение не повторно брошено, временный файл уничтожается в конце обработчика, где это было поймано.
Примечание: Если Вы поймаете ссылкой, то ссылка будет относиться к временному файлу, Если Вы поймаете значением, временный объект копируется в значение (и таким образом требует конструктора копии).
Совет от S.Meyers (Выгода ссылкой константы).
try
{
// do stuff
}
catch(MyException const& x)
{
}
catch(std::exception const& x)
{
}
Если вы используете C #, вы можете изучить предпочтительный стиль Microsoft во время написания кода, запустив StyleCop для любого кода, который вы пишете. Так учиться намного проще, чем пытаться усвоить огромный документ.
Также посмотрите Microsoft Developer Center: Patterns and Practices , хотя некоторые из них более высокоуровневые, чем просто стандарты кодирования.
Если вы хотите, чтобы рекомендации были опубликованы Microsoft, погуглите их или используйте ссылки в других ответах.
Но если вам нужны «стандарты, используемые в собственном коде Microsoft» - однозначного ответа нет. . Microsoft - большая компания с множеством подразделений и приобретенным кодом, поэтому у каждого проекта или продукта есть свой стиль.
Даже стиль самой .NET Framework немного отличается от того, что предлагает StyleCop.
Я хочу сказать, что уделять больше внимания этим рекомендациям и официальным документам, чем сама Microsoft, может быть не очень хорошей идеей.
MSDN - отличное место, чтобы начать поиск всего, что связано с программированием в Windows. Вы можете начать с:
Помните, что не существует единого размера, который подходил бы всем, и соглашения / стандарты меняются от команды к команде, используемого языка и т. Д.
Шаблоны и методы Guidance Explorer
"является инструмент, позволяющий обнаруживать, состав и расход высоких руководство по развитию качества. Руководство Explorer устанавливается с подключением к руководство по шаблонам и практике библиотека, включая производительность и темы безопасности для .NET, ASP.NET и Приложения ADO.NET. Руководство библиотека содержит различные руководства типы, включая контрольные списки и рекомендации по дизайну, темы реализации и развертывания »
Таким образом, этот документ будет немного удобнее, чем один большой документ, и позволит вам: