delphi中有catch吗?对于你的问题可以用嵌套Try:try try image1.Picture.Bitmap.LoadFromFile(); except //处理你希望捕获的错误 on EZeroDivide do HandleZeroDivide; on EOverflow do HandleOverflow; on EMathError do HandleMathError; ... else //对于其他错误,重新引发错误 Raise; end; ......... finally ..... end;
try image1.Picture.Bitmap.LoadFromFile(); finally //error. end; //or try image1.Picture.Bitmap.LoadFromFile(); except on e:exception do //error; caption:=e.message; end
procedure TForm1.Button1Click(Sender: TObject); begin try Image1.Picture.Bitmap.LoadFromFile('C:\temp~~.bmp'); except on EFOpenError do ShowMessage('打开文件失败'); end; end;//--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { try { Image1->Picture->Bitmap->LoadFromFile("C:\\temp~~.bmp"); } catch (EFOpenError &vFOpenError) { ShowMessage("打开文件失败"); }; }
zswang(伴水)(千分易得,一笑难求) 你好 EFOpenError &vFOpenError这句是怎么找到的。总不能用一个问一个吧。我想学着自己去找。 lz_0618(lz_0618。以下这些什么意思啊?怎么找到的啊。 on EZeroDivide do HandleZeroDivide; on EOverflow do HandleOverflow; on EMathError do HandleMathError;
on EZeroDivide do HandleZeroDivide; //除0错 on EOverflow do HandleOverflow; //溢出 on EMathError do HandleMathError; //计算出错 Exxx是出处类,Help和VCL的代码里有的,
try
image1.Picture.Bitmap.LoadFromFile();
except
//处理你希望捕获的错误
on EZeroDivide do HandleZeroDivide;
on EOverflow do HandleOverflow;
on EMathError do HandleMathError;
...
else
//对于其他错误,重新引发错误
Raise;
end;
.........
finally
.....
end;
image1.Picture.Bitmap.LoadFromFile();
finally
//error.
end; //or try
image1.Picture.Bitmap.LoadFromFile();
except on e:exception do
//error;
caption:=e.message;
end
begin
try
Image1.Picture.Bitmap.LoadFromFile('C:\temp~~.bmp');
except
on EFOpenError do ShowMessage('打开文件失败');
end;
end;//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
try {
Image1->Picture->Bitmap->LoadFromFile("C:\\temp~~.bmp");
} catch (EFOpenError &vFOpenError) {
ShowMessage("打开文件失败");
};
}
lz_0618(lz_0618。以下这些什么意思啊?怎么找到的啊。
on EZeroDivide do HandleZeroDivide;
on EOverflow do HandleOverflow;
on EMathError do HandleMathError;
on EOverflow do HandleOverflow; //溢出
on EMathError do HandleMathError; //计算出错
Exxx是出处类,Help和VCL的代码里有的,