ค้นหาเว็บไซต์

javascript - วิธีเปิดการหยุดชั่วขณะเมื่อเกิดข้อยกเว้นที่ไม่ถูกจับใน Google Chrome Canary?


ในบทความนี้พูดถึงการเปิดการหยุดชั่วคราวเมื่อเกิดข้อยกเว้นที่ไม่ได้จับ https://developer.chrome.com/devtools/docs/javascript-debugging

ฉันสามารถเห็นเฉพาะ 'หยุดชั่วคราวเมื่อเกิดข้อยกเว้น' ทั้งใน Chrome และ Canary ฉันกำลังใช้ Chrome Canary เวอร์ชัน 43.0.2344.2 canary (64-bit)

ฉันกำลังได้รับข้อผิดพลาด Uncaught SyntaxError: Unexpected token : ซึ่งชี้ไปยังตำแหน่งหนึ่ง (เช่น VM272) และมันยากมากที่จะติดตามหาตำแหน่งโดยไม่มีร่องรอยของ call stack

ฉันได้ค้นหาและพบว่าฉันสามารถเพิ่ม

> window.onerror = function() { debugger;}

ในคอนโซล แต่ก็ไม่ได้ทำให้ฉันได้สแตกแทรซ หน้าต่าง Scope ให้ข้อมูลตัวแปรมากมาย แต่ฉันก็ยังค่อนข้างสับสนอยู่

คำตอบ #1

เอกสารนั้นล้าสมัยเล็กน้อย

ในเวอร์ชันใหม่ของ Chrome ปุ่ม "หยุดชั่วคราวเมื่อเกิดข้อยกเว้น" จะไม่สามารถสลับระหว่าง 3 สถานะ (ปิดการใช้งาน, "หยุดชั่วคราวเมื่อเกิดข้อยกเว้น", "หยุดชั่วคราวเมื่อเกิดข้อยกเว้นที่ไม่ได้ถูกจับ") อีกต่อไป แต่จะสลับได้เพียงสองสถานะ (ปิดการใช้งาน และ "หยุดชั่วคราวเมื่อเกิดข้อยกเว้น").

เพื่อที่จะสามารถหยุดการทำงานได้เมื่อเกิด ข้อยกเว้นที่ถูกจับ พวกเขาได้เพิ่มกล่องเลือกนี้เข้ามา (ซึ่งมีประโยชน์หากคุณมีตัวจัดการข้อยกเว้นระดับทั่วไปรู้ใน GWT แต่ยังต้องการให้หยุดเมื่อข้อยกเว้นถูกขว้างออกมา)

ดังนั้นถ้าคุณไม่จับข้อยกเว้น การตั้งค่าที่คุณแสดงในสกรีนช็อตของคุณควรใช้งานได้