매번 답변에 감사드립니다.
요즘, 델파이사용자가 좀 뜸한것 같으네요.
류님이 펄펄~~ ^^
예외관련 질문 다시,,
-------------------------------------------------------------------
<maskedit> !\(9999\)000-0000;1;_ // (____)___-____
try
label1.caption:=maskedit1.text;
except on EDBEditError do
messagedlg('공백에러',mtwarning, [mbok],0);
end;
<입력시> (____)_77-7777
-> 0,9는 숫자입력, 0은 선택, 9는 필수입력.
그런데, 위 입력시 공백을 넣었습니다.
에러메세지는 다음과 같습니다.
<Wanring> //exception: EDBEditError
Invalid input value. Use escape key to abandon changes.
-> 위에 분명히 예외처리를 해주었으니, '공백에러'라는 메세지를
내어야 하는데, 위와 같은 에러메세지가 뜹니다. 이것은
(except on ~ do)에서 예외처리가 되지 않았다는 뜻이구요.
===================================================================
try
edit1.text:=IntToSTr(StrToInt(edit2.text)/IntToStr(edit3.text));
except on EZeroDivideError do
messagedlg('0으로 나눌수 없습니다.',mtwarning, [mbok],0);
end;
이 경우에서는, 4/0하면, EZeroDivideError예외가 일어나고,
'0으로 나눌수 없습니다'라고 에러메세지를 내어주거든요.
===================================================================
EDBEditError의 properties
<Exception.Message>
Message contains the text string to display in the exception dialog
box when the exception is raised.
[property Message: string]
-> Message를 어떻게 사용하는지 아시면 간단한 예를 부탁드리겠습니다.
|