на самом деле и try / catch придется также плодить, просто собирать исключения в кучку и кидать новое "результат", иначе если это не сделаешь, мне сложно представить твой контроллерPHP:try { uploadFile(); } catch () {} function uploadFile(){ isImage(); } function isImage(){ throw new Exception(); }
В противном случае придётся во всех методах плодить if/else:
PHP:$result = uploadFile(); if ( ! $result) { echo 'Какая-то ошибка'; } function uploadFile(){ if ( ! isImage()) { return false; } } function isImage(){ return false; }
PHP:
try {
uploadFile();
}
catch ( Ex1 $e ) {..}
catch ( Ex2 $e ) {..}
catch ( Ex3 $e ) {..}
...
catch ( Ex3542 $e ) {..}
...
а это мне кажется будет всеже атомарной операцией
хотя и разговор ушел слегка в другую сторонуPHP:if (file_exists($file)) { unlink($file); }