English

Код из жизни

Опубликовано: 2014-02-26 06:50:27

Этот код с точностью до смысла повторяет тот, который я встретил в живом проекте.

[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-&gt;getMessage().PHP_EOL;

            }

    }

}

$m = new Main();

$m->mainMethod();

[/php]

Вопрос: сработает ли catch и что выведет echo? Вопрос простой, но при том, что классы расположены в разных файлах приходится задуматься о том, зачем вообще нужен был MyException и что автор кода хотел нам сказать, когда делал catch на Exception, а не на MyException.

Прошлые записи

  1. Детализация по звонкам Теле2, совершенным более полугода назад
  2. Побыть туристом в своем городе
  3. Космология, Байкал, Математика, Минимализм
  4. Уроки математики - Youtube-канал
  5. Почему я считаю, что бойкотировать выборы это плохая идея
  6. Ксения Собчак в гостях у Познера
  7. Один из способов решения психологических проблем в семье
  8. Стрельба из пистолета Ярыгина
  9. Опыт участия в Teamlab в роли наставника
  10. Highload 2017. Как это было.
  11. Авиатор. Е. Водолазкин. Отзыв