Saya mencari yang setara di Chrome dengan fungsi "break on all error" dari Firebug. Di tab Skrip, Chrome memiliki "jeda pada semua pengecualian", tetapi ini tidak sama dengan memecah semua kesalahan.
Misalnya, saat memuat halaman dengan kode berikut, saya ingin Chrome memutuskannya foo.bar = 42
. Sebaliknya, bahkan ketika mengaktifkan "Jeda pada semua pengecualian", saya tidak mendapatkan hasil yang diharapkan.
<!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>
Anda dapat mencoba kode yang disisipkan di atas pada halaman ini atau menggunakan jsFiddle ini .
javascript
google-chrome
debugging
webkit
avernet
sumber
sumber
console.log(gaga)
) atau ke properti yang tidak ditentukan (seperti diwindow.foo.bar
).Jawaban:
Sunting: Tautan asli yang saya jawab sekarang tidak valid . URL yang lebih baru adalah https://developers.google.com/web/tools/chrome-devtools/javascript/add-breakpoints#exceptions pada 2016-11-11.
Saya menyadari pertanyaan ini memiliki jawaban, tetapi tidak lagi akurat. Gunakan tautan di atas ^
(tautan diganti dengan yang diedit di atas) - Anda sekarang dapat mengaturnya untuk memecah semua pengecualian atau hanya yang tidak ditangani. (Perhatikan bahwa Anda harus berada di tab Sumber untuk melihat tombol.)
Chrome juga menambahkan beberapa kemampuan breakpoint lain yang sangat berguna sekarang, seperti memecah perubahan DOM atau acara jaringan.
Biasanya saya tidak akan menjawab kembali pertanyaan, tetapi saya sendiri memiliki pertanyaan yang sama, dan saya menemukan jawaban yang sekarang salah, jadi saya pikir saya akan memasukkan informasi ini ke sini untuk orang yang datang kemudian dalam mencari. :)
sumber
Saya mendapat kesulitan untuk mendapatkannya sehingga saya memposting gambar yang menunjukkan pilihan berbeda:
Chrome 75.0.3770.142 [29 Juli 2018]
UI yang sangat mirip sejak setidaknya Chrome 38.0.2125.111 [11 Desember 2014]
Di tab
Sources
:Ketika tombol diaktifkan, Anda dapat
Pause On Caught Exceptions
dengan kotak centang di bawah ini:Versi sebelumnya
Chrome 32.0.1700.102 [03 feb 2014]sumber
Ini sekarang didukung di Chrome oleh tombol "Jeda pada semua pengecualian".
Untuk mengaktifkannya:
Perhatikan bahwa tombol ini memiliki banyak status. Terus klik tombol untuk beralih
sumber
Hampir semua kesalahan akan menghasilkan pengecualian. Satu-satunya kesalahan yang saya pikir tidak akan bekerja dengan opsi "pause on exception" adalah kesalahan sintaks, yang terjadi sebelum salah satu kode dieksekusi, jadi tidak ada tempat untuk berhenti sebentar dan tidak ada kode yang akan berjalan.
Tampaknya, Chrome tidak akan berhenti pada pengecualian jika berada di dalam blok uji coba. Itu hanya berhenti pada pengecualian yang tidak tertangkap. Saya tidak tahu cara mengubahnya.
Jika Anda hanya perlu tahu garis apa yang terjadi pada pengecualian (maka Anda dapat mengatur breakpoint jika pengecualian dapat direproduksi),
Error
objek yang diberikan ke blok tangkap memilikistack
properti yang menunjukkan di mana pengecualian terjadi.sumber
Sayangnya, Alat Pengembang di Chrome tampaknya tidak dapat "menghentikan semua kesalahan", seperti yang dilakukan Firebug.
sumber