JavaScript Matematik İşlemlerinde Try Catch Kullanımı

  1. Bad Code
    4
    1653
    10/10/2018 7:43:00 PM

    JavaScript ile bölme işlemlerini yapmaya çalışıyorum. Pay ve paydanın 0 olması durumlarında hata vermesi gerekirken catch bloğuna düşmüyor.

     try {
        var sayi1 = parseInt(document.getElementById('nbr1').value);
        var sayi2 = parseInt(document.getElementById('nbr2').value);
    
        var sonuc = sayi1 / sayi2;
        document.getElementById('sonuc').innerText = sonuc;
    } catch (error) {
        document.getElementById('sonuc').innerText = error;
    }
    
    html javascript 2 ay önce 117 Görüntüleme

( 2 ) Cevap

  1. ali
    5
    ali
    3377
    10/10/2018 8:20:00 PM

    Burda
    sayı /0 = sonsuz, 0 / sayı =0, 0/0= tanımsız Matematiksel olarak bunların karşılığı olduğu catch yapısına düşmüyor.

    catch yapısına manuel olarak düşürmek için Throw ifadesini kullanmalısın.

            if (sayi1 === 0 && sayi2 === 0) {
                throw "Pay ve payda 0 oluğu için sonuc tanımsız";
            } else if (sayi1 === 0) {
                throw "Pay 0 oluğu için sonuc 0";
            } else if (sayi2 === 0) {
                throw "Payda 0 oluğu sonuç sonsuz";
            }
    
  2. Eslem78
    3
    217
    10/11/2018 11:41:00 AM

    Number.isFinite() fonksiyonu ile de kontrol edebilirsin

    Number.isFinite(1 / 0) >false döner

    Number.isFinite(1 / 1) >true döner

    Number.isFinite(sayi1 / sayi2)
    

Cevabınız