Firebug'ın "break on all errors" işlevine Chrome'da bir eşdeğer arıyorum. Komut Dosyaları sekmesinde Chrome'un "tüm istisnalarda duraklat" özelliği var, ancak bu tüm hatalarda kesmekle aynı şey değil.
Örneğin, aşağıdaki kodu içeren bir sayfa yüklenirken Chrome'un foo.bar = 42
satırında kesilmesini istiyorum. Bunun yerine, "Tüm istisnalarda duraklat" özelliğini etkinleştirdiğimde bile beklenen sonucu alamıyorum.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript">
function doError() {
foo.bar = 42;
}
window.onload = function() {
try {
doError();
} catch (e) {
console.log("Error", e);
}
}
</script>
</head>
<body>
</body>
</html>
Yukarıda bu sayfa üzerine yapıştırılan kodu veya bu [jsFiddle][2]'yi kullanarak deneyebilirsiniz.
Düzenleme: Yanıt verdiğim orijinal bağlantı artık geçersizdir.2016-11-11 itibariyle daha yeni URL https://developers.google.com/web/tools/chrome-devtools/javascript/add-breakpoints#exceptions olacaktır.
Bu sorunun bir cevabı olduğunun farkındayım, ancak artık doğru değil. Yukarıdaki bağlantıyı kullanın ^
(bağlantı yukarıda düzenlenerek değiştirildi) - artık tüm istisnalarda veya yalnızca işlenmemiş olanlarda kesilecek şekilde ayarlayabilirsiniz. (Düğmeyi görmek için Kaynaklar sekmesinde olmanız gerektiğini unutmayın).
Chrome'a ayrıca DOM değişikliklerinde veya ağ olaylarında kesme gibi gerçekten kullanışlı başka kesme noktası özellikleri de eklendi.
Normalde bir soruyu tekrar cevaplamazdım, ancak aynı soruyu ben de sordum ve şimdi yanlış olan bu cevabı buldum, bu yüzden daha sonra arama yapan insanlar için bu bilgiyi buraya koyabileceğimi düşündüm :)
Hemen hemen her hata bir istisna oluşturacaktır. Aklıma gelen ve "pause on exceptions" seçeneği ile çalışmayacak tek hata, kodun herhangi biri çalıştırılmadan önce meydana gelen sözdizimi hatalarıdır, bu nedenle zaten duraklatılacak bir yer yoktur ve kodun hiçbiri çalışmaz.
Görünüşe göre Chrome, bir try-catch bloğunun içindeyse istisnayı duraklatmıyor. Sadece yakalanmamış istisnalarda duraklatır. Bunu değiştirmenin herhangi bir yolunu bilmiyorum.
Sadece istisnanın hangi satırda gerçekleştiğini bilmeniz gerekiyorsa (o zaman istisna tekrarlanabilirse bir kesme noktası ayarlayabilirsiniz), catch bloğuna verilen Error
nesnesinin istisnanın nerede gerçekleştiğini gösteren bir stack
özelliği vardır.