Q&A

  • EditBox에 문자열을 넣으면 종료시키고 싶은데 예외가 발생합니다.
계산하는 프로그램에서 edit박스에 문자열을 넣으면 완전히 종료되는 것도 아니고

이상한 메세지가 나옵니다. 문자열이 들어가면 완전히 종료시키고 싶은데..

이상입니다.

2  COMMENTS
  • Profile
    Mr.Q 2000.11.13 01:21
    초보 wrote:

    > 계산하는 프로그램에서 edit박스에 문자열을 넣으면 완전히 종료되는 것도 아니고

    > 이상한 메세지가 나옵니다. 문자열이 들어가면 완전히 종료시키고 싶은데..

    > 이상입니다.



    try

    tmpint:=StrToInt(edit1.text);

    except on EConvertError do

    ShowMessage('숫자만입력할것');

    end;



    아마도, 형변환 에러 메세지를 말하는듯 하네요.

    이것은 예외처리라고 하는데요, 그 이상한 영문메세지는

    디버거에서 예외의 종류를 알려주는것입니다. 그 이상하다는 메세지에서

    EConvertError이라는 단어를 찾을수 있을겁니다.

    try

    tmpint:=StrToInt(edit1.text);

    이 부분을 시도하고, EConvertError형변환에러가 나면, 메세지를 보여줘라는것입니다.

    담엔, 어디에서 에러가 나는지 소스의 그 부분과 함께 올려주세요.

    글로만 보고서는 문제를 해결할수가 없습니다.

  • Profile
    Mr.Q 2000.11.13 06:06
    디버거 내에서는 try부분에서 바로 에러 메세지를 내줍니다.



    디폴트로 try부분에 에러가 나면 디버거는 프로그램을 중단시키고

    어떤 종류의 예외가 일어났는지를 알려주도록 되어있습니다.



    중단되었을때 F9를 다시누르면.. except부분이 실행되는것을 알수있습니다.



    예외 처리가 제대로 실행되는지를 보기 위해서.. exe가 만들어진 폴더로

    가서.. 실행화일을 실행시켜보세요.



    아니면.. 위와 같은 디폴트 동작을 끄려면..

    Tools-DebugerOptions-LanguageExceptios-DelphiExceptions 옵션을 끄면 됩니다.







    Mr.Q wrote:

    > 초보 wrote:

    > > 계산하는 프로그램에서 edit박스에 문자열을 넣으면 완전히 종료되는 것도 아니고

    > > 이상한 메세지가 나옵니다. 문자열이 들어가면 완전히 종료시키고 싶은데..

    > > 이상입니다.

    >

    > try

    > tmpint:=StrToInt(edit1.text);

    > except on EConvertError do

    > ShowMessage('숫자만입력할것');

    > end;

    >

    > 아마도, 형변환 에러 메세지를 말하는듯 하네요.

    > 이것은 예외처리라고 하는데요, 그 이상한 영문메세지는

    > 디버거에서 예외의 종류를 알려주는것입니다. 그 이상하다는 메세지에서

    > EConvertError이라는 단어를 찾을수 있을겁니다.

    > try

    > tmpint:=StrToInt(edit1.text);

    > 이 부분을 시도하고, EConvertError형변환에러가 나면, 메세지를 보여줘라는것입니다.

    > 담엔, 어디에서 에러가 나는지 소스의 그 부분과 함께 올려주세요.

    > 글로만 보고서는 문제를 해결할수가 없습니다.