Обычно система сама генерирует исключения при определенных ситуациях, например, при делении числа на ноль. Но язык C# также позволяет генерировать исключения вручную с помощью оператора throw. То есть с помощью этого оператора мы сами можем создать исключение и вызвать его в процессе выполнения.
Например, в нашей программе происходит ввод имени пользователя, и мы хотим, чтобы, если длина имени меньше 2 символов, то возникало исключение:
try
{
Console.Write("Введите имя: ");
string? name = Console.ReadLine();
if (name== null || name.Length
После оператора throw указывается объект исключения, через конструктор которого мы можем передать сообщение
об ошибке. Естественно вместо типа Exception мы можем использовать объект любого другого типа исключений.
Затем в блоке catch сгенерированное нами исключение будет обработано.
Подобным образом мы можем генерировать исключения в любом месте программы. Но существует также и другая форма
использования оператора throw, когда после данного оператора не указывается объект исключения. В подобном виде оператор throw
может использоваться только в блоке catch:
try
{
try
{
Console.Write("Введите имя: ");
string? name = Console.ReadLine();
if (name == null || name.Length
В данном случае при вводе имени с длиной меньше 2 символов возникнет исключение, которое будет обработано внутренним блоком catch.
Однако поскольку в этом блоке используется оператор throw, то исключение будет передано дальше внешнему блоку catch, который получит то же самое исключение и выведет то же самое сообщение на консоль.
#yandex_rtb_R-A-201190-3{ width: 100%; height: 300px;overflow:hidden; }
@media(min-width: 760px) { #yandex_rtb_R-A-201190-3{ max-width: 728px; } }
@media(min-width: 900px) { #yandex_rtb_R-A-201190-3{ max-width: 336px; } }
@media(min-width: 1100px) { #yandex_rtb_R-A-201190-3{ max-width: 728px; } }
@media(min-width: 1400px) { #yandex_rtb_R-A-201190-3{ max-width: 970px;} }
НазадСодержаниеВперед