Самые твердые, с которыми я обычно сталкиваюсь, являются, которые не обнаруживаются ни в какой трассировке журнала. Вы никогда не должны тихо есть исключение! Проблема состоит в том, что еда исключения часто перемещает Ваш код в недопустимое состояние, где это перестало работать позже в другом потоке и абсолютно несвязанным способом.
Тем не менее самый твердый, с которым я когда-либо действительно столкнулся, был программой C в вызове функции, где подпись вызова точно не соответствовала названной подписи (каждый был длинным, другой интервал). Не было никаких ошибок во время компиляции или время ссылки, и большинство тестов передало, но стек был выключен sizeof (интервал), таким образом, переменные после того, как он на стеке будет случайным образом иметь плохие значения, но большую часть времени он хорошо работал бы (значения после того плохого параметра обычно передавались в как нуль).
, Который был СУКОЙ для отслеживания.
Добавление _was
к вашему атрибуту даст вам предыдущее значение.
ActiveRecord's Метод attributes_before_type_cast
возвращает хэш атрибутов до того, как произошли приведение типов и десериализация.