プロジェクトで System.Data.SQLite を使用しています。出力フォルダーに System.Data.SQLite dll がない場合、FileNotFoundException をキャッチできません (他の例外は正常にキャッチされます)。コード例は次のとおりです。
private void button1_Click(object sender, RoutedEventArgs e)
{
try
{
SQLiteConnection conn = new SQLiteConnection();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
メッセージボックスが表示されません。このコードを別の関数で抽出し、この関数呼び出しを try catch でラップすると、例外をキャッチするよりもうまく機能し、MessageBox は次のように表示されます。
private void DeclareConnection()
{
SQLiteConnection conn = new SQLiteConnection();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
try
{
DeclareConnection();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
何が問題ですか?