SORU
6 ŞUBAT 2012, PAZARTESİ


javascript yeni Hata ve at(nesne)atmak arasındaki fark nedir

Kodun herhangi bir örneği de özel hatalar bilerek atılan yakalayacak olan genel hata işleyicisi yazmak istiyorum.

Ben ne zaman throw new Error('sample') aşağıdaki kodda olduğu gibi

<script>
try{
throw new Error({'hehe':'haha'}) 
//throw new Error('hehe');
}catch(e)
{
    alert(e)
    console.log(e);
}
</script>

Günlük gösterir: firefox Error: [object Object] ve nesne ayrıştırma edemedim.

İkinci oturum gösterildiği gibi atmak için: Error: hehe

Ben ne zaman bu ise

<script>
try{
throw ({'hehe':'haha'}) 
}catch(e)
{
    alert(e)
    console.log(e);
}
</script>

konsol olarak gösterdi: hata özellikleri girmeyi başardım Object { hehe="haha"}.

Fark nedir?

Kodda görüldüğü gibi fark vardır? sözdizimi farklı olacak dize sadece nesneler olarak dize ve nesne olarak geçilecek gibi ama?

Hata nesne atma araştırdı almadım... sadece atma dizeleri yaptırdım.

Yukarıda bahsedilen iki yöntemden daha başka bir yolu var mı?

Önerilerinizi lütfen.

CEVAP
6 ŞUBAT 2012, PAZARTESİ


burada The Error object and throwing your own errors hakkında güzel bir açıklama

Hata Nesne

bir hata, sadece bir olay özü ne yapabiliriz. Tüm tarayıcılarda Hata nesnesi destekler aşağıdaki iki özellikleri:

  • adı: hatanın adı, ya da daha spesifik olarak, kurucunun adı hata ait bir işlev.

  • mesaj: bu açıklama tarayıcıya bağlı olarak. değişen hata için Bir açıklama,

Altı olası değerler belirttiğim gibi bir hata kurucular adlarını karşılık gelen name özelliği, iade edilebilir. Bunlar:

Error Name          Description

EvalError           An error in the eval() function has occurred.

RangeError          Out of range number value has occurred.

ReferenceError      An illegal reference has occurred.

SyntaxError         A syntax error within code inside the eval() function has occurred.
                    All other syntax errors are not caught by try/catch/finally, and will
                    trigger the default browser error message associated with the error. 
                    To catch actual syntax errors, you may use the onerror event.

TypeError           An error in the expected variable type has occurred.

URIError            An error when encoding or decoding the URI has occurred 
                   (ie: when calling encodeURI()).

Kendi hataları (istisnalar) atma

Yerine bekleyen biri 6 tip hatalar ortaya çıkmadan kontrol otomatik olarak transfer try block catch block, aynı zamanda açıkça atmak kendi özel durumlar için zorlamak bunun olmasını talep. Bunun bir hata olduğunu ve kontrol devredilmelidir zaman kendi tanımları oluşturma yakalamak için harika.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Barnacules Nerdgasm

    Barnacules N

    20 Temmuz 2006
  • Jabari Johnson

    Jabari Johns

    18 Ocak 2008
  • TheScorpioTechno

    TheScorpioTe

    15 Aralık 2010