Что вы ожидали, что произойдет?
Вы вызываете функцию, которая печатает «Возникла исключительная ситуация», плюс другой текст, а затем выдает результирующее значение как исключение, которое вы никогда не перехватываете,поэтому программа сообщает, что было выброшено необъяснимое исключение.Это правда, потому что это именно то, что вы только что сделали.
Весь смысл исключений заключается в том, что когда вы генерируете исключение, оно будет распространяться через программу, пока оно не будет обработано или достигнет вершины.уровень и завершает программу.Вы не обрабатываете исключение, поэтому оно завершает программу.
Если вы хотите обработать исключение, вам нужно обернуть бросающий код в блок try
, за которым следует catch
, какв:
try {
throw excep(20);
}
catch (int ex) {
// do something about the exception
}