轉帖|其它|編輯:郝浩|2008-09-22 14:35:12.000|閱讀 2439 次
概述:GDI+中發生一般性錯誤
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
有這么一段將從數據庫讀出的圖片的字節數組轉換為圖片的程序:
public static Image byteArrayToImage(byte[] byteArrayIn)
{
try
{
if (byteArrayIn.Length > 0)
{
using (MemoryStream ms = new MemoryStream(byteArrayIn))
{
Image returnImage = Image.FromStream(ms);
ms.Close();
return returnImage;
}
}
return null;
}
catch
{}
}
外部是這樣調用的 :
try
{
pbox_圖片1.Image = ImageByteConvert.byteArrayToImage((byte[])(row_道班房屋["圖片1"]));
}
catch
{
}
pbox_圖片2.Image = null;
try
{
pbox_圖片2.Image = ImageByteConvert.byteArrayToImage((byte[])(row_道班房屋["圖片2"]));
}
catch
{
}
數據庫中有兩條記錄,每條記錄有2張圖片。使用第一條記錄時沒有任何問題,但是使用第二條記錄時,如果執行
try
{
pbox_圖片1.Image = ImageByteConvert.byteArrayToImage((byte[])(row_道班房屋["圖片1"]));
}
catch
{
}
就會出現這樣的情況:
以上代碼的異常捕獲都沒有捕捉到異常,但是當
Form_Load(object sender, EventArgs e)
{
...
...
...
}
執行完畢后就會引發“GDI+中發生一般性錯誤”
然而不執行
try
{
pbox_圖片1.Image = ImageByteConvert.byteArrayToImage((byte[])(row_道班房屋["圖片1"]));
}
catch
{
}
,單獨執行
pbox_圖片2.Image = null;
try
{
pbox_圖片2.Image = ImageByteConvert.byteArrayToImage((byte[])(row_道班房屋["圖片2"]));
}
catch
{
}
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:DIY部落