나는 사람들이 인수없이 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 블록에 정리 코드를 넣는 것과 try..catch 블록 뒤에 정리 코드를 넣는 것의 유일한 차이점은 try 블록에 return 문이있는 경우입니다 (이 경우 정리 코드는 실행하지만 try..catch 이후의 코드는 실행되지 않습니다).
그렇지 않으면, 마지막으로 특별한 점은 무엇입니까?