Microsoft.Azure.Devices.Client.DeviceClientを使用してAzure IoTハブからのメッセージをリッスンするXamarinアプリケーションがあります。時には私は捕まえることができず、対処できないエラーを投げかけます。そのような例外は次のとおりです。Azure IoTHub例外をスローすることができません
Microsoft.Azure.Devices.Client.Exceptions.UnauthorizedException
この例外はちょうど私が取得しています例外の例、と私は確実にシステム時刻を変更して再作成することができるものです。他のIoTHubExceptionsは散発的で再現するのが難しいため、例外を試して捕捉する必要があります。
どのように私はこれらのIoTハブベースのエラーをキャッチすることができます教えてもらえますか?コードは次のとおりです。
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
}
は、このコードは 'タスクを返すように宣言された関数です'または' Task '?これらの呼び出しからそれがスローされていることも確かですか? –
juunas
はい、このメソッドのシグネチャは "private async Task StartReceiverAsync()"ですが、問題を引き起こしているのはこの呼び出しであると100%確信できません。私がIoTHub関連の何かをしているのは唯一の場所であり、問題は実行がこのコードに達すると発生します。 – Slicc