Also habe ich eine akademische Software schreibe, wo ich muss die Daten aus einem Netzwerk von 8 Geräten über Online-Verbindungen zu erhalten. Beachten Sie, dass diese Geräte so konfiguriert sind, dass sie manchmal keine oder Null-Daten zurückgeben. Und ich muss diese Daten für eine lange Zeit sammeln. Hier ist der Code:Nach Exception
public static void ParseJsonStatic(string link, ...9)
{
/access the URLs in a suitable interval and process data
var client = new WebClient();
var stream = client.OpenRead(link);
Debug.Assert(stream != null, "stream != null");
var reader = new StreamReader(stream);
var rootObject = JsonConvert.DeserializeObject<RootObject>(reader.ReadToEnd());
....
}
Also, wenn es eine null stream
ist, Visual Studio wird angehalten und zeigen mir die Ausnahme Blase und ich muss diese Taste weiter klicken.
Gibt es eine Möglichkeit, dies zu umgehen und sicherstellen, dass mein Code von Anfang läuft weiter, wenn eine solche Situation eintritt. Also, was ich will, ist dies:
while (stream == null) { ... retry to read stream and don't trigger nullPointerException... }
Weil in Mitte pausieren Sammlung meine Zwecke der Daten nicht auf bestimmten Intervall basiert und auch ich kann es nicht unbeaufsichtigt lassen, als solche für lange Intervalle.
Danke.
nicht sicher, was Sie wollen. Etwas wie "while (stream == null) {... versuche den Stream zu lesen ...}"? Oder vielleicht "if (stream == null) {return}"? – fafl
Ich will etwas, während '(Strom == null) {... wiederholen Stream lesen ...}' und nicht brechen. –
Sie können eine Ausnahme nicht ausschalten. Wie Ihr Computer Ihnen etwas sagt, ist schiefgelaufen. Was können Sie tun, ist es zu fangen und schreibt etwas, das die Ausnahme behandelt (dh löst eine Wiederholung durch die ganze Sache in einer Schleife platzieren und den Escape-Faktor auf false) –