Как блок Try знает, по какой строке утверждения в коде он должен выдать исключение - PullRequest
0 голосов
/ 08 февраля 2020

Например, при делении числа на ноль, как блок try определяет, по какому оператору он должен выдать исключение. он проверяет значение знаменателя неявно, и он делает то, что он знает

1 Ответ

1 голос
/ 08 февраля 2020

Исключения не работают таким образом.

Блоки try{} catch {} ничего не знают, так как это не тот объект, который выдает исключение, он просто о том, как обрабатывать исключение, выданное кодом внутри блока try.

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

ArithmeticException бросается при возникновении исключительного арифметического условия c. Например, целое число «делить на ноль» выбрасывает экземпляр этого класса. Объекты ArithmeticException могут создаваться виртуальной машиной, как если бы подавление было отключено и / или трассировка стека не была доступна для записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...