openpicturedialog를 사용해서 그림을 불러오려는데요
그림파일포멧 이외의 파일을 선택하면 'Unknown picture file extention(.확장자)'
에러가 뜹니다.
비베에서는 on error go to 해서 exception이 발생하는 경우에는 무조건 에러메시지를
제가 만들어서 예외처리가 용이했는데요.
델파이에서는 그게 아닌듯.
에러의 종류까지 알아야하는건가요? ( except on E:EDivByZero do 처럼.. )
모든 에러를 하나로 통제하는방법은 없는걸까요...
어쨌든, 파일포멧 에러가 발생하면 이것을 어떻게 예외처리합니까?
procedure TForm1.Button1Click(Sender: TObject);
begin
if opendlg.Execute then
try
image1.Picture.LoadFromFile(opendlg.FileName);
except
on E:??? do
begin
showmessage('그림파일이 아닙니다.');
end;
end;
end;
델파이 상의 에러처리는 예외가 발생하면
try 밑의 절을 읽지 않고 except 밑의 절을 읽어야 하는거 아닌가요?
unknown 어쩌고 저쩌고의 에러를 꼭 디스플레이한다음에 except 밑의 절을 띄우던데...
참, 헷갈리네요...
디자인타임시, 예외오류메세지창이 뜰때, 읽어보면
예외명이 나옵니다.
그리고, 여러가지 경우의 예외처리를 하려면,
except
on .. do
on .. do
하면되는것 같습니다. 도움말에서 'except'를 참고하세요
최준연 wrote:
> openpicturedialog를 사용해서 그림을 불러오려는데요
>
> 그림파일포멧 이외의 파일을 선택하면 'Unknown picture file extention(.확장자)'
>
> 에러가 뜹니다.
>
> 비베에서는 on error go to 해서 exception이 발생하는 경우에는 무조건 에러메시지를
>
> 제가 만들어서 예외처리가 용이했는데요.
>
> 델파이에서는 그게 아닌듯.
>
> 에러의 종류까지 알아야하는건가요? ( except on E:EDivByZero do 처럼.. )
>
> 모든 에러를 하나로 통제하는방법은 없는걸까요...
>
> 어쨌든, 파일포멧 에러가 발생하면 이것을 어떻게 예외처리합니까?
>
> procedure TForm1.Button1Click(Sender: TObject);
> begin
> if opendlg.Execute then
> try
> image1.Picture.LoadFromFile(opendlg.FileName);
> except
on EInvalidGraphic do
> begin
> showmessage('그림파일이 아닙니다.');
> end;
> end;
> end;
>
> 델파이 상의 에러처리는 예외가 발생하면
>
> try 밑의 절을 읽지 않고 except 밑의 절을 읽어야 하는거 아닌가요?
>
> unknown 어쩌고 저쩌고의 에러를 꼭 디스플레이한다음에 except 밑의 절을 띄우던데...
>
> 참, 헷갈리네요...
>
>