Вопрос

Я знаю, что это, вероятно, не имеет большого значения, но мне хотелось бы знать, что правильно.

Если фрагмент кода содержит некоторую версию throw new SomeKindOfException().Говорим ли мы, что этот фрагмент кода потенциально может вызвать исключение?Или выбросить исключение?

Ключевое слово throw, поэтому я склоняюсь к этому, но создание исключения также часто используется...

Они имеют какое-то разное значение?Означает ли один из них какое-то отличие от другого?Или это всего лишь два слова, означающие одно и то же?

Это было полезно?

Решение

В терминологии C# повышение используется в контексте событий и бросание используется в контексте исключений.

Лично я считаю throw/catch сочетание красивее, чем raise/catch.

Другие советы

Я не могу говорить за C#, но в C++ было выбрано «throw», потому что «raise» уже было стандартным именем функции.

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

В терминологии различных языков предпочтение отдается слову «бросить».И я согласен, что «throw» имеет гораздо больше смысла, учитывая, что это используемое ключевое слово, а документация по компилятору/языку всегда ссылается на «выбрасываемое» исключение.

Однако в брюхе этого гиганта на самом деле есть исключения. Поднятый, не кинули.Если вы достаточно глубоко погрузились в отладчик и смотрите на EXCEPTION_RECORD тогда вы говорите в терминологии СЭХ, в котором конкретный класс исключений компилятора/языка (да, clr, vcpp) — лишь одно из многих исключений вкусов.Я предполагаю, что исходные условия, для которых возникали исключения, такие как ошибки страниц и переполнение стека, были условиями, «замеченными» ядром, которое «информировало» пользовательский режим об условии, а не исключением, которое пользовательский код «выбрасывал» на себя. , поэтому этот термин имеет больше смысла в этом контексте.

Кажется, что бросок или рейз — это нормально, для меня они значат одно и то же.Я бы не стал этого писать, но когда я говорю, я обычно говорю «отбросить исключение».

Для событий я бы использовал либо «запустить событие», либо «вызвать событие».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top