Я думаю, что ваши вопросы относятся к обработке ошибок в целом, поэтому вы можете найти некоторые полезные ответы в не зависящих от языка вопросах.
1. Солдарнал ответил на вопрос 1, и я склонен согласиться - много работы, чтобы попытаться поймать каждое место, где может возникнуть ошибка, например, взаимодействие с базой данных, и лучше иметь глобальный обработчик ошибок, который перехватывает все ошибки и использует попытку / ловит в места, где высока вероятность возникновения ошибки, и вы хотите, чтобы выполнение продолжалось (обычно, если ваш сайт не может получить доступ к вашей базе данных, он немного застрял).
2. Что касается ведения журнала, cflog
является наиболее надежным, так как вы почти всегда можете войти в файл, если с вашим сервером нет серьезных проблем. cfmail
следующий - сервер должен ставить в очередь любые письма, которые он не может отправлять, хотя есть и другие проблемы. Далее cfhttp
вы можете регистрировать свои ошибки на внешнем сайте, хотя при отправке ошибки она должна быть включена, иначе вы ее потеряете. Наконец, вы можете войти в базу данных, но опять же, если это не помогло.
Вы можете использовать комбинацию, например регистрировать ошибки в базе данных, если база данных недоступна, затем регистрироваться в файлах и повторно вставлять ошибки в базу данных при ее резервном копировании.
3. Если вы отслеживаете ошибки, например в базе данных или через внешнюю службу вы сможете настроить ее так, чтобы отправлять вам электронные письма о первой ошибке, или cfmail
позволит вам отправлять почту обо всех ошибках. Мы используем пользовательский сценарий обработки ошибок, но в Интернете могут быть некоторые проблемы.