Вопрос:

При возникновении исключения в блоке try на экран будет выведено ... int a =2; int b = 0; try { a = a / b; } catch when (a==0) { 1. WriteLine(1); } catch(DivideByZeroException) { 1. WriteLine(2); }

Смотреть решения всех заданий с листа

Ответ:

Приветик! Давай разберемся с этой задачкой по программированию. Это тест на знание того, как обрабатываются исключения (ошибки) в коде.

Смотри, у нас есть переменные:

  • int a = 2;
  • int b = 0;

Дальше идет блок try, где мы пытаемся сделать такое: a = a / b;.

А теперь самое интересное: мы пытаемся делить число 2 на 0. Ты же знаешь, что на ноль делить нельзя? Это приведет к ошибке.

Программа увидит эту ошибку (исключение) и попытается ее поймать. У нас есть два блока catch:

  1. catch when (a==0): Этот блок сработает, если условие a==0 будет истинным. Но в нашем случае a будет равно 2, когда произойдет деление на ноль, поэтому этот блок не подойдет.
  2. catch(DivideByZeroException): А вот это уже точно про нашу ситуацию! Ошибка DivideByZeroException — это именно то, что происходит при делении на ноль.

Когда сработает второй блок catch, программа выполнит то, что внутри него:

  • 1. WriteLine(2);

Это означает, что на экран будет выведено число 2.

Ответ: 2

ГДЗ по фото 📸