throws

Absinthe

жожо
Пообсуждаем?
Не хотели ли вы иногда возможностей киворда throws в PHP?


Чтобы выделил блок, нажал правой кнопкой в IDE по нужному пункту - а оно обернуло бы его блоком try/catch[], сама определив, какие исключения он может выкинуть.
Естественно, ничего не сломается (BC), если сделать его необязательным, а по желанию.

Ладно, вопрос: Как заставить PhpStorm так реагировать на @throws?
 

Вурдалак

Продвинутый новичок

Absinthe

жожо
throws для PHP имеет мало смысла, поэтому keyword'а бы не хотел.
Почему? В Java это просто шикарно работает.
Если не трогать функции (типа unlink без @), которые срут в логи вместо выкидывания исключений.
 

Вурдалак

Продвинутый новичок
Потому что в Java это, насколько я помню, не опционально, а обязательно, иначе компиляция не пройдёт. Это лишний раз позволяет следить, что ты не упустил что-то. Я не вижу иного смыла делать это на уровне языка. А для генерации try .. catch и phpDoc сойдёт.
 

Absinthe

жожо
В PHP можно и средний путь выбрать: выкидывать не E_ERROR, а E_STRICT/E_NOTICE какой-нибудь в виде компромисса.
Не только для генерации кода, но и для валидации. ИМХО сразу среднее по больнице качество кода возрастет.

Хотя валидацию можно и на стороне IDE сделать, если в нем подержка @throws появится.
 

Вурдалак

Продвинутый новичок
Я не понимаю в какой момент ты хочешь выкидывать E_STRICT, приведи пример.
 

weregod

unserializer
с каких пор завершение работы скрипта ограничивается? ))
 
Сверху