繁体   English   中英

异常后自动继续

[英]Continue Automatically After Exception

因此,我正在编写一个学术软件,需要通过在线链接从8个设备的网络中获取数据。 请注意,此设备的配置方式使它们有时不返回任何数据或返回空数据。 而且我需要长时间收集这些数据。 这里是代码:

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... }

因为暂停在中间无法实现我基于特定间隔进行数据收集的目的,而且我也不能长时间间隔无人照管。

谢谢。

尝试这个:

var stream = null;
while (stream == null) {
    stream = client.OpenRead(link)
}

也许两次读取之间您也想等待一段时间。

在Visual Studio中:Ctrl + Alt + E或Debug> Exceptions。

这将打开一个窗口,您可以在其中选择导致调试器中断的期望。

您感兴趣的对象可能在“公共语言运行时异常”下

请注意,任何会导致您的应用崩溃的未处理异常仍会中断调试。 您需要确保使用Try / Catch处理异常。

转到“调试”菜单,然后进入“异常”

要访问此窗口,请转到“调试”菜单,然后选择“ Windows”->“例外设置”。

选择添加并输入您的例外。 这将为您的例外添加一个复选框项。

每当该异常被抛出时,如果该复选框处于选中状态,调试器将暂停。 在您的情况下,必须取消选中此复选框。

有关更多信息,请参见msdn上的此链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM