Lbyl против EAFP в Java?JAVA

Программисты JAVA общаются здесь
Anonymous
Lbyl против EAFP в Java?

Сообщение Anonymous »

Недавно я учил себя Python и обнаружил идиомы LBYL/EAFP в отношении проверки ошибок до выполнения кода. В Python кажется, что принятый стиль является EAFP, и, похоже, он хорошо работает с языком.

Код: Выделить всё

def safe_divide_1(x, y):
if y == 0:
print "Divide-by-0 attempt detected"
return None
else:
return x/y
eafp ( это e asier a sk f orgivent, чем p ermission ):

p ermission ):

def safe_divide_2(x, y):
try:
return x/y
except ZeroDivisionError:
print "Divide-by-0 attempt detected"
return None
< /code>

Мой вопрос: я никогда даже не слышал об использовании EAFP в качестве основной конструкции проверки данных, исходящей из фона Java и C ++. Является ли EAFP чем -то мудрым для использования в Java? Или слишком много накладных расходов от исключений? Я знаю, что есть только накладные расходы, когда на самом деле брошено исключение, поэтому я не уверен, почему более простой метод EAFP не используется. Это просто предпочтение?

Подробнее здесь: https://stackoverflow.com/questions/404 ... fp-in-java

Вернуться в «JAVA»