2017-02-21 37 views
0

Недавно я читал учебник WiX (WiX: Руководство разработчика от Nick Ramirez, довольно красивая книга), а в начале главы пользовательского интерфейса он показывает, как (в Visual Studio) просто подавляйте все предупреждения ICE, чтобы вы могли заниматься своим бизнесом.WiX Почему бы не просто подавить все ошибки ICE?

Позже он возвращается к ошибкам ICE, и якобы показывает студент, как с ними бороться: определить пять диалогов FilesInUse, Error, FatalError, UserExit, а затем изменить его здесь, если этот и изменить его там, если что, yadda- ядд-ядд.

Следуя тексту стенограммы, я запускаю меня дальше по регрессивному кроличьему отверстию, он не фиксирует ошибки ICE.

Итак, вот что я делаю, когда получаю ошибку ICE: я подавляю ее! И пока это здорово!

Так что мой вопрос (ы):

  • Почему я должен не просто подавить ошибки ICE я получаю?
  • Где узнать, как с ними бороться? Я не могу не думать, что мой метод «подавления» вернется, чтобы укусить меня в конце концов.

ответ

2

Вы не должны подавлять ошибки, потому что они есть по какой-либо причине - они указывают на места \ ошибки, которые могут вызвать проблемы.

Потому что давайте посмотрим правде в глаза - возможно, не так много людей знают, как все работает там и все скрытые связи между свойствами и как одна настройка может повлиять на другую. Ошибки - это способ предупредить вас об этих соединениях и возможных ошибках.

Да, иногда это ложные тревоги, но в большинстве случаев они помогут вам избежать ситуаций, когда установщик не ведет себя так, как должен, и вы не знаете, почему.

Особенно, если вы подавите одну ошибку ICE, вы фактически подавите все экземпляры ошибки, а не только в одном месте \ line (вы можете подавить десятки ошибок в одном файле, и если даже одна из них вызвала проблему, вы может потерять себя в поиске \ отладки).

Я думаю, что вы должны научиться разбираться с ними методом проб и ошибок и спрашивать в разных местах, например, это или форум пользователей wix. Просто имейте в виду - не всегда есть один правильный способ решить ошибку.

Лично я решил не подавлять предупреждения (вообще), я предпочитаю их видеть и исследовать каждый, а затем рискуя оказаться в неожиданном поведении.

+0

Я подавляю ошибки ICE, когда ошибка явно заявляет, когда она не применяется (взаимоисключающие компоненты, устанавливаемые в одно и то же место), или я намеренно нарушил ICE с уважительной причиной и точно знаю, почему я это делаю. –

+0

@TeaHunny Я согласен, что не подавление ошибок - это лучшая практика. Я не пропускаю предупреждения, когда я кодирую на других языках, а тем более фактическую ошибку. Однако до сих пор я только создавал очень простые пользовательские интерфейсы - пользователь вводит несколько фрагментов информации и показывает GO. Я просто спрашиваю, нужно ли мне потратить кучу времени на выяснение этих ошибок ICE. Я полагаю, что, однако, буду придерживаться взгляда Брайана: подавляйте их, если вы знаете, почему вы их подавляете. – Bob

+0

Я частично согласен с Брайаном - теоретически это здорово, если вы знаете, что делаете, вы можете подавить неуместные вещи. Основной недостаток заключается в том, что подавление является глобальным, а не элементом \ line - вы (или кто-то другой, поддерживающий код) могут добавлять новые строки \ элементы, которые генерируют ошибки (и не было никакого намерения игнорировать ошибки \ они являются реальными ошибками) - никто не будет знать, если они. – TeaHoney