Если вы ищете вдумчивое субботнее чтение, вы не ошибетесь с кодами ошибок или исключениями? Почему надежное программное обеспечение так сложно? Дэмиен Кац , который стоит только для визуальных перерывов.
На самом деле, речь идет не о кодах ошибок / исключениях, а о том, что вы делаете, когда что-то идет не так — как вам «спасти» беспорядок, в котором вы находитесь?
На фронте фанатов PHP, соответствующая статья, которую нужно процитировать…
Что нам нужно в языках и инструментах, так это способность легко изолировать наши изменения, когда s ** t попадает в вентилятор, так, чтобы незавершенные изменения не были видны (все или ничего). И мы не можем отрицать, что s ** t может ударить вентилятор в любое время. Нам нужно упростить обнаружение того, что происходит неправильно, и упростить правильные действия, как только это произойдет.
Верьте или нет, у нас уже есть это, в зачаточном виде, в PHP. Да, старый добрый, тупо-простой PHP. На веб-сервере сценарии PHP не имеют общего состояния, поэтому каждый экземпляр сценария PHP выполняется в своем собственном логическом пространстве памяти. Сценарии не сохраняют постоянное состояние, поэтому каждый сценарий начинается с нуля, как блаженный, блаженно не подозревая о том, что происходило в прошлый раз, когда он был выполнен.
Единственное общее состояние в PHP существует на уровне базы данных (или на уровне файлов, но не переходите туда), и если вы фиксируете все изменения в одной транзакции, вы в основном решили проблему построения колоды. Ваш код может быть не совсем удачным для успешного завершения его обновления, но ошибка изолирована, все действия, приводящие к ошибке, забыты, и это не может вызвать дальнейшие проблемы или несоответствия в приложении.
Это все, что снова делится ничем, кроме повторного вращения с акцентом на транзакции, а не на масштабирование.