try-catch ile div-by-zero yakalama sorunu

  • rapsodi
Posted: 6 Mayıs 2010 - 12:41

try
{
int a = 0;
int b = 1 / a;
}
catch (exception& e)
{
cout << "hata var" << endl;
}

delphi'de bu tür sıfıra bölme gibi aritmetik işlem hatalarını try-except ile yakalayabiliyoruz. c++'da neden catch'e düşmüyor da program patlıyor? bunları yakalamak için ne yapmalıyız?

C++'daki exception

  • Volkan TUNALI
  • 11/17/09
  • 6 Mayıs 2010 - 13:10

C++'daki exception mekanizması kullanıcı tanımlı exceptionları fırlatmak ve yakalamak üzere düzenlenmiştir. Sıfıra bölme gibi aritmetik hatalar bu mekanizma ile yakalanmıyorlar; daha doğrusu bu tür hatalar oluştuğunda C++ derleyicisi try-catch ile yakalanabilecek türden bir exception fırlatmıyor. Tabii bu arada platforma/derleyiciye bağımlı farklılıklar söz konusu olabilir.

Delphi, Java, C# gibi dillerde bu konuda farklılık olabilir.

Yeni yorum gönder

Bu alanın içeriği gizlenecek, genel görünümde yer almayacaktır.
  • Web sayfası ve e-posta adresleri otomatik olarak bağlantıya çevrilir.
  • İzin verilen HTML etiketleri: <a> <img> <em> <strong> <cite> <code> <pre> <ul> <ol> <li> <dl> <dt> <dd>
  • Satır ve paragraflar otomatik olarak bölünürler.
  • Syntax highlight code surrounded by the {syntaxhighlighter OPTIONS}...{/syntaxhighlighter} tags.

Biçimlendirme seçenekleri hakkında daha fazla bilgi

CAPTCHA
Bu soru sizin otomatik spam yapan bir makina olmadığınızdan emin olmak için soruluyor.
Image CAPTCHA
Enter the characters shown in the image.