Я использую try-catch
годами, но я никогда не узнавал, как и когда использовать finally
, потому что я никогда не понимал смысла finally
(я читал плохие книги)?Могу ли я использовать try-catch-finally вот так?
Я хочу спросить вас об использовании finally
в моем случае.
Мой пример кода должен все объяснить:
$s = "";
$c = MyClassForFileHandling::getInstance();
try
{
$s = $c->get_file_content($path);
}
catch FileNotFoundExeption
{
$c->create_file($path, "text for new file");
}
finally
{
$s = $c->get_file_content($path);
}
Вопрос:
Является ли это правильное использование, наконец?
Edit: Более точный вопрос:
Должен ли я использовать finally
(в будущем PHP версии или другие языки) для обработки «создать что-то, если он не существует» операции?
http://stackoverflow.com/questions/927214/how-can-i-get-around-the-lack-of-a-finally-block-in-php – Peter
В вашем случае, наконец, может работать, но я не знаю Не думайте, что вы используете его, это хорошая практика. Вы должны сделать все необходимые проверки перед использованием функции – JudgeProphet
Итак, чтобы ответить на ваш вопрос: «Должен ли я использовать, наконец, для обработки« создать что-то, если он не существует »?», Я бы сказал «нет». См. Ниже, когда вы, возможно, захотите использовать наконец. – mika