Подтвердить что ты не робот

Соответствует ли обработка ориентированных на объекты в Perl?

Недавно я прочитал "Обработка объектно-ориентированных исключений в Perl" Статья Perl.com. Есть ли смысл использовать исключения в Perl?

4b9b3361

Ответ 1

Я должен отметить, что указанная вами статья старая и теперь вы должны использовать Exception::Class вместо Error.pm, который является изворотливым и имеет тенденцию ломаться (это то, что я называю "черной магией" ). Я должен отметить, что теперь я являюсь разработчиком Error.pm, но я больше не рекомендую его или не использую его для своего собственного кода.

Ответ 2

"есть ли смысл использовать исключения в Perl?"

Да, я настоятельно рекомендую прочитать главу "Обработка ошибок" в Perl Best Practices Дамиан Конвей.

Он, конечно, открыл мне глаза; -)

Ответ 3

Совершенно верно. Если вы выбросите простую "смерть", у вас действительно нет никакой информации, которую может обрабатывать компьютер. Например, у меня есть тестовая среда, которая использует Test:: Most, и этот модуль может позволить вам умереть при ошибках тестирования. Тем не менее, моя структура должна была знать, умираю ли я, потому что тест не прошел или из-за того, что код умер. Таким образом, я выбрал Test:: Most:: Exception, и моя инфраструктура может проверить тип исключения и предпринять соответствующие действия.

Исключения - ваш друг:)

Ответ 4

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