Когда полезно использовать исключения в PHP? - PullRequest
1 голос
/ 03 октября 2009

Я разрабатывал большие приложения, используя try / catch для обработки всех исключений и ошибок; Тем не менее, я пытался выяснить: когда правильно использовать оператор try / catch?

Есть ли хорошая практика / правило для try / catch?

В настоящее время я создаю библиотеку SEO для моей PHP Framework, и у меня есть «маленькая» функция, и я спросил себя «Должен ли я действительно использовать try / catch для этой маленькой функции?»

Если кто-то может мне в этом помочь, я был бы очень благодарен.

Ответы [ 3 ]

0 голосов
/ 03 октября 2009

используя его, если вы используете этот стандарт кодирования. Использование как исключений, так и кодов возврата может привести к запутанному беспорядку и медленной разработке (пытаясь вспомнить, как обрабатывать ошибки для каждой функции). Возможно, вам не нужен блок try / catch в ваших крошечных функциях - но если вы правильно структурируете скрипт, вы можете просто генерировать исключения из ваших маленьких функций и иметь большие управляющие функции, вызывающие их в блоке try.

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

0 голосов
/ 03 октября 2009

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

0 голосов
/ 03 октября 2009

Try / Catch наиболее полезен, когда у вас есть собственная функция обработки ошибок (что вам нужно) или когда вы хотите подавлять ошибки. Вы никогда не должны прибегать к использованию встроенного в PHP подавления ошибок @, так что использование try / catches может записывать ошибки, используя вашу функцию ошибок, и помогать вам подавлять их полезным способом.

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

...