Dies ist ein Fehler, dem ich regelmäßig gegenüberstehe. Obwohl ich es auf die eine oder andere Weise umgehen kann, ärgert es mich wirklich. Im folgenden Codefragment möchte ich Ausnahmen von myRequest.GetResponse ()
schützen %Vor%Wenn ich jetzt versuche, den Code zu kompilieren, heißt es
"Verwendung der nicht zugewiesenen lokalen Variablen 'Leser'"
Nun, meine Frage: Wenn die try-Anweisung reibungslos läuft, ohne dass Ausnahmen ausgelöst werden, warum kann der Compiler nicht auf den Wert zugreifen, der dem Leser im try-Block zugewiesen ist?
Sie verwenden eine Variable, die in einem try / catch-Block außerhalb dieses Blocks zugewiesen ist. Sie werden den gesamten Code in den try-Block verschieben wollen.
Sie könnten null
zuweisen wie @Svexo vorgeschlagen, aber dies wird eine Ausnahme auslösen, sollte der Datenstrom ausfallen.
Der Compiler sagt use of unassigned variable
, weil der Code nach dem try / catch-Block trotzdem ausgeführt wird.
Wenn Sie eine Ausnahme haben, fangen Sie sie ab, dann führen Sie den Code danach aus. Deshalb erhalten Sie diesen Fehler.
Sie können entweder
null
zu und testen Sie dann, ob sie null sind, bevor Sie den Rest des Codes ausführen Tags und Links c# exception-handling try-catch