Существует два известных метода «проверки» предварительных условий.
ЛБИЛ: Смотри, прежде чем прыгнуть
Этот стиль кодирования явно проверяет предварительные условия перед выполнением вызовов или поисков. Этот стиль отличается от подхода EAFP и характеризуется наличием множества операторов if.
EAFP: Проще просить прощения, чем разрешения.
Этот общий стиль кодирования предполагает наличие допустимых ключей или атрибутов и перехватывает исключения, если предположение оказывается ложным. Этот чистый и быстрый стиль характеризуется наличием множества попыток, кроме заявлений. Техника контрастирует со стилем LBYL, общим для многих других языков, таких как C.
EAFP - это всегда хорошая идея для языка, в котором есть утка.
Это явно зависит от того, что вы хотите сделать ... Если вы не уверены в том, с каким объектом манипулировать, используйте EAFP.