所以我正在编写一个学术软件,我需要通过在线链接从8个设备的网络中获取数据。请注意,此设备的配置方式有时会返回no或null数据。我需要长时间收集这些数据。这是代码:
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());
....
}
因此,只要有null stream
,Visual Studio就会暂停并向我显示异常气泡,我将不得不单击此继续按钮。
有没有办法处理这个问题,并确保我的代码在发生这种情况时继续从开始运行。所以我想要的是:
while (stream == null) { ... retry to read stream and don't trigger nullPointerException... }
因为在中间停顿会导致基于特定间隔的数据收集目的失败,而且我也不能长时间无人看管。
感谢。
答案 0 :(得分:3)
试试这个:
var stream = null;
while (stream == null) {
stream = client.OpenRead(link)
}
也许在阅读之间你也想等一段时间。
答案 1 :(得分:2)
在Visual Studio中:Ctrl + Alt + E或Debug&gt;异常。
这将打开一个窗口,您可以在其中选择哪些预览将导致调试器中断。
您感兴趣的人可能会受到#34; Common Language Runtime Exceptions&#34;
请注意,任何导致应用崩溃的未处理异常仍会导致调试失败。您需要确保使用Try / Catch处理异常。
答案 2 :(得分:0)
转到“调试”菜单,然后转到“例外”
要访问此窗口,请转到“调试”菜单并选择“Windows” - &gt;例外设置。
选择添加并输入您的例外。这将添加一个复选框项 为你的例外。
如果抛出该复选框,则无论何时抛出异常,调试器都会暂停。 在您的情况下,必须取消选中此复选框。
有关详细信息,请参阅msdn上的link!