投稿したコードは、テキストを含むメッセージ ボックスを表示します。
正しい
例外がスローされない場合、そうでない場合はメッセージ
間違い: (および例外のメッセージ プロパティ)
メッセージは表示されません
問題ない
error
try ブロックの最初の行での初期値を上書きするためです。
error
あなたが投稿したコードを考えると、値が失われることはありません( nullになると思います)。最終的にエラーは範囲外になります (たとえば、このコードが定義されているメソッドを終了するとき)。
アップデート
私はあなたのコードを取得し、まったく新しい WinForms プロジェクトを作成し、Form1 をダブルクリックして Load イベント ハンドラーを作成し、次のようにコードに投稿しました。
private void Form1_Load(object sender, EventArgs e)
{
string error = "No issues";
try
{
error = "Correct";
}
catch (Exception ex)
{
error = "Wrong:" + ex.Message.ToString();
}
finally
{
// Closes connection
}
MessageBox.Show(error);
}
その結果、「正しい」というメッセージ ボックスが表示されました。
それが実際のコードで見られるものではない場合、問題を再現するのに十分なコードを共有していません。