|
안녕하세요. heredity입니다.
개발 환경에서 try 문을 사용해도 발생되는 Delhpi 예외 오류는 EXE File를 별도록 실행할 경우엔 화면에 나타나지
않으며, 특히 개발환경에서 Delphi 예외 Dialog Box를 나타나지 않게 하려면
Tools --> Debugger Options --> Language Exceptions
에서 Stop On Delphi Exception를 uncheck하면 됩니다(다른 Option도 눈여겨 보세요 ^_^;;)
아래에 질문하신 내용을 보충한 코드를 첨부하오니 참조하시기 바랍니다.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
try{
double dbl1 = Edit1->Text.Trim().ToDouble();
double dbl2 = Edit2->Text.Trim().ToDouble();
if( dbl2 != 0 ) {
Label1->Caption = dbl1 / dbl2;
}
else {
Label1->Caption = "NAN";
}
}
catch( const EConvertError &err ) {
Label1->Caption = "NAN";
}
}
행복하세요.
액ㅁ애갸 님이 쓰신 글 :
: 음....그래두 안돼는데요...
: 암튼 조언 감사..꾸뻑
:
:
:
:
: 30억 님이 쓰신 글 :
: : if ( Edit2 -> Text == "0"){
: : Label1->Caption= "Nan.";
: : }
: : else{
: : Label1->Caption = Edit1->Text.Trim().ToDouble() / Edit2->Text.Trim().ToDouble();
: : }
: : 이렇게 하면 되지 않을까요...
: :
: :
: :
: : doradori 님이 쓰신 글 :
: : : 계산기 소스를 만들고 있는데 나누기 연산에서 0으로 인해 오류가 발생하는 것은 어떻게 해결해야 하나요..
: : : 일반 계산기는 연산시 Nan이란 것이 뜨던데요...제가 인제 언어 접하는 거라 많이 모르거든요...소스는 여기 이건데...
: : : 어떻게 수정해야 하는지 부탁드립니다.
: : : void __fastcall TForm1::Button5Click(TObject *Sender)
: : : {
: : : try{
: : : Label1->Caption = Edit1->Text.Trim().ToDouble() / Edit2->Text.Trim().ToDouble();
: : : if (Edit2 == "0"){
: : : Label1->Caption= "Nan.";
: : : }
: : : }
|