Этот код с точностью до смысла повторяет тот, который я встретил в живом проекте.
[php]
<?php
class MyException extends Exception {
}
class TestException {
public static function testExc() { throw new MyException('MyException '); }
}
class Test2Exception {
public static function test2Exc() { TestException::testExc(); }
}
class Main {
public function mainMethod() { try { Test2Exception::test2Exc(); } catch (Exception $e) { echo $e->getMessage().PHP_EOL; } }
}
$m = new Main();
$m->mainMethod();
[/php]
Вопрос: сработает ли catch и что выведет echo? Вопрос простой, но при том, что классы расположены в разных файлах приходится задуматься о том, зачем вообще нужен был MyException и что автор кода хотел нам сказать, когда делал catch на Exception, а не на MyException.
Прошлые записи
- Переезд в Калининград
- О serverless технологии для чатботов
- Свободное время на улучшение блога
- o-zhizni-v-kaliningrade-spustya-god
- Продажа гаража из другого города
- В Калининграде спустя полгода
- Выйти на работу или сидеть дома
- Теперь мы живем в старой немецкой квартире и счастливы
- Как за один день найти жилье в августе 2020 (после пандемии) и чуть не остаться на улице с двумя детьми
- О переезде в Калининград
- О протестах в Америке