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