簡體   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