internal static string ReadCSVFile(string filePath)
{
try
{
...
...
}
catch(FileNotFoundException ex)
{
throw ex;
}
catch(Exception ex)
{
throw ex;
}
finally
{
...
}
}
//Reading File Contents
public void ReadFile()
{
try
{
...
ReadCSVFile(filePath);
...
}
catch(FileNotFoundException ex)
{
...
}
catch(Exception ex)
{
...
}
}
上記のコードサンプルでは、2つの関数ReadFile
とがありReadCSVFile
ます。
でReadCSVFile
、タイプFileNotFoundExceptionの例外が発生します。これは、catch(FileNotFoundException)ブロックでキャッチされます。しかし、この例外をスローしてReadFile
関数のcatch(FileNotFoundException)にキャッチすると、catch(FileNotFoundException)ではなくcatch(Exception)ブロックにキャッチされます。さらに、デバッグ中、exの値はObjectNotInitializedと表示されます。内部例外を失うことなく、または少なくとも例外メッセージを発生させることなく、呼び出された関数から呼び出し元関数のcatchブロックに例外をスローするにはどうすればよいですか?