|
유영인.Chris 님이 쓰신 글 :
: 빈센트님의 말이 맞구요..
:
: 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 를 사용하는 방법을
: : 알고 싶습니다.
: :
: : 감사합니다.
: :
|