首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure IoTHub抛出我无法捕获的异常

Azure IoTHub抛出我无法捕获的异常
EN

Stack Overflow用户
提问于 2016-11-15 21:30:58
回答 2查看 926关注 0票数 0

我有一个使用Microsoft.Azure.Devices.Client.DeviceClient的Xamarin应用程序来侦听来自Azure IoT集线器的消息。偶尔,我会遇到一些无法捕获和处理的错误。其中一个例外是:

Microsoft.Azure.Devices.Client.Exceptions.UnauthorizedException

这个异常只是我得到的异常的一个例子,我可以通过改变系统时间可靠地重新创建它。其他IoTHubExceptions是零星的,很难重新创建,因此需要尝试捕获异常。

谁能告诉我如何才能捕获这些基于IoT集线器的错误?代码是:

代码语言:javascript
复制
try
{
   await _deviceClientInbound.OpenAsync();

   // execution never gets passed this line and the exception is eventually thrown, having reached this point
   Message receivedMessage = await _deviceClientInbound.ReceiveAsync();

   if (receivedMessage == null) continue;

   await _deviceClientInbound.CompleteAsync(receivedMessage);
}
catch (Exception e)
{
   // Exception is never caught in here ...
   // How can I catch the IoTHubException based exceptions
}
EN

回答 2

Stack Overflow用户

发布于 2016-11-16 21:55:03

如果您收到未经授权的异常。然后,请检查设备客户端中使用的iot集线器连接字符串,以确认与连接字符串一起使用的共享访问策略是否具有您的终端所需的所有权限。

票数 1
EN

Stack Overflow用户

发布于 2016-12-09 00:34:09

我相信这与为支持的平台所做的各种重构有关,你可能必须捕获所有异常,处理你想要的异常,然后重新抛出你不想要的异常。

代码语言:javascript
复制
using Microsoft.Azure.Devices.Client.Exceptions;

如果你想探索洞穴,可以在这里找到源码:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40611111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档