Пользовательские Сообщения об исключениях: Лучшие практики

Обычно я делаю общую фильтрацию по строкам следующим образом:

criterion = lambda row: row['countries'] not in countries
not_in = df[df.apply(criterion, axis=1)]
67
задан GEOCHET 9 March 2009 в 23:20
поделиться

4 ответа

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

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

  1. генерируют текстовую строку для размещения в исключение
  2. , генерируют целое исключение, и сообщение

- то, что требуется.

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

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

При помощи любого из этих подходов Вы помогаете интернационализировать сообщение об ошибке позже при необходимости.

отслеживание стека А как минимум дает Вам функцию и возможно номер строки, таким образом необходимо сфокусироваться на предоставлении информации, которая не легка работать из этого.

34
ответ дан ShuggyCoUk 7 November 2019 в 10:50
поделиться

См. , Как Разработать Иерархии Исключения на блоге Krzysztof Cwalina, соавтора "Руководства по проектированию Платформы".

11
ответ дан John Saunders 7 November 2019 в 10:50
поделиться

Никогда не доверяйте пользователю, чтобы 'сделать правильную вещь' и включать информацию для отладки. Если Вы хотите информацию, необходимо собрать его сами и сохранить ее где-нибудь где его доступное.

Также, как указано, если трудно (er) сделать что-то, пользователи постараются не делать, это, поэтому снова, не зависит от их доброжелательности и их знания того, что они должны отправить.

Эти взгляды подразумевают метод, которым Вы собираете информацию и регистрируете ее, который подразумевает использование var_dump () где-нибудь.

кроме того, как сказано Mark Harrison, кнопка, которая помогает отправить сообщение об ошибке куда-нибудь, является фантастической для Вас и для пользователей. Это помогает им сообщить об ошибке. Вы (как получатель) получаете много дубликатов, но копируете информацию, не лучше, чем никакая информация.

3
ответ дан Matthew Farwell 7 November 2019 в 10:50
поделиться

Однако много детали, которую Вы добавляете, быть уверенными и или

  • , помогает вырезать и вставить все это, или
  • имеют кнопку, которая сообщит об ошибке для них
0
ответ дан Mark Harrison 7 November 2019 в 10:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: