繁体   English   中英

如何处理从CloudPageBlob.BeginUploadFromStream中抛出的异常

[英]How to handle exceptions thrown from within CloudPageBlob.BeginUploadFromStream

我正在使用Azure SDK将流上传到Azure存储Blob。 我想做异步,所以我使用CloudPageBlob.BeginUploadFromStream 这样做,我开始考虑如果在读取流时抛出异常会发生什么。 我找不到关于异常是否会冒泡的任何信息,所以我可以通过try catch捕获它,或者如果方法将调用异步回调,或者会发生什么。

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

事实证明,当抛出异常时, BeginUploadFromStream()完成并调用异步回调,并且没有异常冒泡到最初调用方法的位置,所以我无法通过try catch捕获它。 同时,我找不到传递给回调的IAsyncResult任何信息,抛出异常。

我能做些什么才能对BeginUploadFromStream()未按预期完成的事实采取行动?

我相信当你调用EndUploadFromStream时你会看到异常。

暂无
暂无

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

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