Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何处理从CloudPageBlob.BeginUploadFromStream中引发的异常_C#_.net_Azure_Azure Storage Blobs_Azure Sdk .net - Fatal编程技术网

C# 如何处理从CloudPageBlob.BeginUploadFromStream中引发的异常

C# 如何处理从CloudPageBlob.BeginUploadFromStream中引发的异常,c#,.net,azure,azure-storage-blobs,azure-sdk-.net,C#,.net,Azure,Azure Storage Blobs,Azure Sdk .net,我正在使用Azure SDK将流上载到Azure存储Blob。我想异步执行,所以我使用。这样做,我开始思考如果在读取流时抛出异常会发生什么。我找不到任何关于异常是否会冒泡的信息,因此我可以用try-catch捕捉它,或者该方法是否会调用异步回调,或者会发生什么 为了进行尝试,我将流包装在一个继承流的类中,构造函数将我的流作为参数,并将其作为私有变量。然后,每个继承的方法只在私有流上调用它的equal。然而,在Read()中,我抛出了一个异常,以查看在读取流时如果出现错误会发生什么。然后,我将st

我正在使用Azure SDK将流上载到Azure存储Blob。我想异步执行,所以我使用。这样做,我开始思考如果在读取流时抛出异常会发生什么。我找不到任何关于异常是否会冒泡的信息,因此我可以用try-catch捕捉它,或者该方法是否会调用异步回调,或者会发生什么

为了进行尝试,我将流包装在一个继承
的类中,构造函数将我的流作为参数,并将其作为私有变量。然后,每个继承的方法只在私有流上调用它的equal。然而,在
Read()
中,我抛出了一个异常,以查看在读取流时如果出现错误会发生什么。然后,我将streamwrapper的一个实例传递给
BeginUploadFromStream()
,而不是实际的流

结果是,当抛出异常时,
BeginUploadFromStream()
完成并调用异步回调,并且没有异常冒泡到第一次调用该方法的位置,因此我无法用try-catch捕捉它。同时,我在传递给回调的
IAsyncResult
上找不到任何异常抛出的信息


如果
BeginUploadFromStream()
没有按预期完成,我能做些什么才能采取行动呢?

我相信当您调用
EndUploadFromStream

时,您会看到异常情况。当然,在try-catch中包装
EndUploadFromStream()
正是我所需要的。非常感谢!