[英]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.