|
빈센트님의 말이 맞구요..
Tools - Debugger Options - Language Exceptions 에서
Step on C++ exceptions, Step on Delphi exceptions 항목의 체크를 모두 지워주시면 딥니다.
StrToInt 를 컨버팅 하실때 에러를 감지하실 때는 catch 문 안에서 변환이 되지 않았음을 의미하는 0 의 값을 주시는 것이 좋으실 것 같고요. (그렇지 않으면 변수 초기화 될때의 쓰레기 값을 그대로 가지고 있으니깐요) 그리고, 간단한 방법으로는 StrToIntDef 를 사용하시는 것이 좋으실 것 같네요,
최종명 님이 쓰신 글 :
: 안녕하십니까?
:
: void __fastcall TMainForm::Edit1Change(TObject *Sender)
: {
: try {
: int Int1=StrToInt(Edit1->Text);
: }
: catch(...)
: {
: return;
: }
:
: }
:
:
: 위의 코드는 간단하게 Text Box에 있는 문자를 숫자로 바꾸고자 합니다.
: 그런데 Text Box에 숫자가 아닌 문자가 들어가면 "StrToInt" 에서 문자는 숫자를 컨버젼할 수 없다는
: 에러가 발생하고 프로그램이 죽어 버립니다.
:
: 그래서 try 와 catch를 쓰면 될것같아 썼는데 전혀 효과가 없네요...
:
: 고수들 도움 부탁 드립니다.
:
: 참고로 저는 문자를 숫자로 바꾸는 방법을 알고 싶은 것이 아니라 try와 catch 를 사용하는 방법을
: 알고 싶습니다.
:
: 감사합니다.
:
|