2016-10-25 9 views
1

通常の状態で問題はありませんが、データベースが見つからない場合は、SQLExceptionsがスローされて捕捉されていることをVisual Studioが示しています。ハンドルDbContext作成例外

DbContextの作成をラップしようとしましたが、キャッチして新しいMyDbContext()に固執しません。

MyDbContext db = null; 
try 
{ 
    db = new MyDbContext(); 
    myData = db.MyData.ToList(); // myData defined earlier 
} 
catch (System.Data.Entity.Core.EntityException) // I tried to catch System.Exception with the same result 
{ 
    MessageBox.Show ("Can't connect to server."); 
    return; 
} 
finally 
{ 
    db?.Dispose(); 
} 

スローされた例外をキャッチするか、接続が確立できなかったことをキャッチする方法はありますか?

不良接続をテストするには、接続文字列Data SourceLocalhost1のように変更しています。

答えて

0

だから、長い間待ってから、数回内部に投げ込まれた例外を見ると、System.Data.SqlClient.SqlExceptionは最終的に外に投げ込まれ、あなたがそれを捕まえることができます。

接続文字列の認証を変更すると、すぐに例外がスローされるため、例外をあきらめて転送する前に、データソースに複数回接続しようとしている可能性があります。

関連する問題