Почему попробовать { ... }, наконец, { ... } хорошее; попробуйте {...} catch {}, так плохо?



Я видел, как люди говорят, что это плохой тон использовать catch без аргументов, особенно если этот улов ничего не делает:



StreamReader reader=new  StreamReader("myfile.txt");
try
{
int i = 5 / 0;
}
catch // No args, so it will catch any exception
{}
reader.Close();


однако, это считается хорошим тоном:



StreamReader reader=new  StreamReader("myfile.txt");
try
{
int i = 5 / 0;
}
finally // Will execute despite any exception
{
reader.Close();
}


насколько я могу судить, единственная разница между помещением кода очистки в блок finally и помещением кода очистки после попытки..catch blocks - это если у вас есть инструкции return в блоке try (в этом случае код очистки в finally будет запущен, но код после пытаться..ловить не буду).



в противном случае, что такого особенного в конце концов?

655   0  

Comments

    Ничего не найдено.