第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否有一個原因Image.FromFile為無效的圖像格式拋出OutOfMemory

是否有一個原因Image.FromFile為無效的圖像格式拋出OutOfMemory

C#
湖上湖 2019-09-06 15:46:36
我正在編寫捕獲此代碼的代碼OutOfMemoryException并拋出一個新的,更直觀的異常:/// .../// <exception cref="FormatException">The file does not have a valid image format.</exception>public static Image OpenImage( string filename ){    try    {        return Image.FromFile( filename );    }    catch( OutOfMemoryException ex )    {        throw new FormatException( "The file does not have a valid image format.", ex );    }}此代碼是否為其用戶所接受,或者是OutOfMemoryException出于特殊原因故意被拋出?
查看完整描述

3 回答

?
偶然的你

TA貢獻1841條經(jīng)驗 獲得超3個贊

嗯,這是一個很好的例子,說明異常并不總是意味著什么。 這個特殊情況(OutOfMemoryException對于一個無效的文件)可以追溯到.Net 1.0,它有一組更有限的異常類型,這個庫的程序員可以從中選擇。我認為從那以后它沒有被改變以保持向后兼容性(又名“在糟糕的情況下拋出好錢”)。


公平地說,我認為這是他們本可以做出的異常類型最糟糕的選擇。當你打開一個文件,它碰巧很大,并且你得到了一個文件時,OutOfMemoryException假設你實際上已經(jīng)沒有內(nèi)存并且在錯誤的樹上咆哮一段時間是合乎邏輯的(在StackOverflow上有關于這個問題的不止一個問題) 。


查看完整回答
反對 回復 2019-09-06
?
一只斗牛犬

TA貢獻1784條經(jīng)驗 獲得超2個贊

這是一個誤導性的例外。微軟說:

當您嘗試在.NET Framework 1.0中使用Bitmap.FromFile方法時收到“System.OutOfMemoryException”錯誤消息

使用Bitmap.FromFile方法時,可能會出現(xiàn)此問題,并且滿足下列條件之一:

  • 圖像文件已損壞。

  • 圖像文件不完整。

注意如果您的應用程序嘗試在未完成寫入文件的文件流上使用Bitmap.FromFile方法,則可能會遇到此問題。*圖像文件沒有有效的圖像格式,或者GDI +不支持文件的像素格式。*該程序無權(quán)訪問該圖像文件。* BackgroundImage屬性直接從Bitmap.FromFile方法設置。

(位圖來自Image)

當然,當您嘗試加載太大的圖像時,也可能會出現(xiàn)此異常。所以你需要考慮這一點。


查看完整回答
反對 回復 2019-09-06
  • 3 回答
  • 0 關注
  • 1037 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號