ล่าสุดการพัฒนาเว็บบทเรียน
×

JavaScript การอ้างอิง

ภาพรวม

JavaScript

JS เชือก JS จำนวน JS ผู้ประกอบการ JS งบ JS คณิตศาสตร์ JS วันที่ JS แถว JS บูลีน JS นิพจน์ทั่วไป JS สถานการณ์โดยรวม JS การแปลง

เบราว์เซอร์ BOM

Window Navigator Screen History Location

HTML DOM

DOM เอกสาร DOM องค์ประกอบ DOM แอตทริบิวต์ DOM เหตุการณ์ DOM รูปแบบ

HTML วัตถุ

<a> <abbr> <address> <area> <article> <aside> <audio> <b> <base> <bdo> <blockquote> <body> <br> <button> <canvas> <caption> <cite> <code> <col> <colgroup> <datalist> <dd> <del> <details> <dfn> <dialog> <div> <dl> <dt> <em> <embed> <fieldset> <figcaption> <figure> <footer> <form> <head> <header> <h1> - <h6> <hr> <html> <i> <iframe> <img> <ins> <input> button <input> checkbox <input> color <input> date <input> datetime <input> datetime-local <input> email <input> file <input> hidden <input> image <input> month <input> number <input> password <input> radio <input> range <input> reset <input> search <input> submit <input> text <input> time <input> url <input> week <kbd> <keygen> <label> <legend> <li> <link> <map> <mark> <menu> <menuitem> <meta> <meter> <nav> <object> <ol> <optgroup> <option> <output> <p> <param> <pre> <progress> <q> <s> <samp> <script> <section> <select> <small> <source> <span> <strong> <style> <sub> <summary> <sup> <table> <td> <th> <tr> <textarea> <time> <title> <track> <u> <ul> <var> <video>

วัตถุอื่น ๆ

CSSStyleDeclaration


 

JavaScriptลอง / จับ / งบในที่สุด

<JavaScript อ้างอิงงบ

ตัวอย่าง

ในตัวอย่างนี้เราได้ทำพิมพ์ผิดในรหัส (ในบล็อกลองบริการ)

ตัวอย่างที่ควรจะแจ้งเตือน "Welcome guest!" แต่การแจ้งเตือนสะกดผิด

จับบล็อก catches ข้อผิดพลาดและรันรหัสที่จะจัดการกับมัน:

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
try {
    adddlert("Welcome guest!");
}
catch(err) {
    document.getElementById("demo").innerHTML = err.message;
}
</script>

</body>
</html>
ลองตัวเอง»

เพิ่มเติม "Try it Yourself" ตัวอย่างด้านล่าง


ความหมายและการใช้งาน

กระบวนการ / จับ / สุดท้ายลองคำสั่งจัดการทั้งหมดหรือบางส่วนของข้อผิดพลาดที่อาจเกิดขึ้นในบล็อกของรหัสในขณะที่ยังคงใช้รหัส

ข้อผิดพลาดสามารถเข้ารหัสข้อผิดพลาดที่ทำโดยโปรแกรมเมอร์ข้อผิดพลาดอันเนื่องมาจากการป้อนข้อมูลที่ไม่ถูกต้องและสิ่งที่คาดเดาอื่น ๆ

คำสั่งที่พยายามช่วยให้คุณกำหนดบล็อกของรหัสที่จะทดสอบสำหรับข้อผิดพลาดในขณะที่มันจะถูกดำเนินการ

คำสั่งจับช่วยให้คุณกำหนดบล็อกของรหัสที่จะดำเนินการหากมีข้อผิดพลาดเกิดขึ้นในบล็อกลอง

คำสั่งในที่สุดก็ช่วยให้คุณสามารถรันโค้ดหลังจากลองและจับโดยไม่คำนึงถึงผลที่ตามมา

หมายเหตุ: จับและงบในที่สุดทั้งสองก็ได้ แต่คุณจำเป็นต้องใช้หนึ่งของพวกเขา (if not both) ในขณะที่การใช้คำสั่งลอง

เคล็ดลับ: เมื่อเกิดข้อผิดพลาด, JavaScript ปกติจะหยุดและสร้างข้อผิดพลาด ใช้ โยน คำสั่งในการสร้างข้อผิดพลาดที่กำหนดเอง (throw an exception) ถ้าคุณใช้ร่วมกับโยนลองและจับคุณสามารถควบคุมการไหลของโปรแกรมและสร้างข้อความผิดพลาดที่กำหนดเอง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาด JavaScript, อ่านออก JavaScript ข้อผิดพลาด การสอน


สนับสนุนเบราว์เซอร์

คำแถลง
try/catch/finally ใช่ ใช่ ใช่ ใช่ ใช่

วากยสัมพันธ์

try {
    tryCode - Block of code to try
}
catch( err ) {
    catchCode - Block of code to handle errors
}
finally {
    finallyCode - Block of code to be executed regardless of the try / catch result
}

ค่าพารามิเตอร์

พารามิเตอร์ ลักษณะ
tryCode จำเป็นต้องใช้ บล็อกของรหัสที่จะทดสอบสำหรับข้อผิดพลาดในขณะที่มันจะถูกดำเนินการ
err จำเป็นต้องใช้ถ้าใช้ด้วยการจับ ระบุตัวแปรท้องถิ่นที่หมายถึงข้อผิดพลาด ตัวแปรสามารถอ้างถึงวัตถุข้อผิดพลาด (มีข้อมูลเกี่ยวกับข้อผิดพลาดที่เกิดขึ้นเช่นข้อความ " 'addlert' ไม่ได้ถูกกำหนด") หากข้อยกเว้นที่ถูกสร้างขึ้นตามคำสั่งโยนตัวแปรหมายถึงวัตถุที่ระบุไว้ในคำสั่งจากเส้นข้าง (ดู "ตัวอย่างเพิ่มเติม")
catchCode ไม่จำเป็น. บล็อกของรหัสที่จะดำเนินการหากมีข้อผิดพลาดเกิดขึ้นในบล็อกลอง หากไม่มีข้อผิดพลาดเกิดขึ้นบล็อกของรหัสนี้จะไม่ดำเนินการ
finallyCode ไม่จำเป็น. บล็อกของรหัสที่จะดำเนินการโดยไม่คำนึงถึงผล / จับลอง

รายละเอียดทางเทคนิค

JavaScript เวอร์ชัน: 1.4

ตัวอย่าง

ตัวอย่างอื่น ๆ

ตัวอย่าง

ตัวอย่างเช่นนี้จะตรวจสอบการป้อนข้อมูล ถ้าค่าที่ไม่ถูกต้องข้อยกเว้น (err) จะถูกโยนทิ้ง

ข้อยกเว้น (err) ที่ถูกจับได้โดยคำสั่งจับและข้อผิดพลาดที่กำหนดเองจะแสดง:

<!DOCTYPE html>
<html>
<body>

<p>Please input a number between 5 and 10:</p>

<input id="demo" type="text">
<button type="button" onclick="myFunction()">Test Input</button>
<p id="message"></p>

<script>
function myFunction() {
    var message, x;
    message = document.getElementById("message");
    message.innerHTML = "";
    x = document.getElementById("demo").value;
    try {
        if(x == "") throw "is Empty";
        if(isNaN(x)) throw "not a number";
        if(x > 10) throw "too high";
        if(x < 5) throw "too low";
    }
    catch(err) {
        message.innerHTML = "Input " + err;
    }
}
</script>

</body>
</html>
ลองตัวเอง»

ตัวอย่าง

คำสั่งในที่สุดก็ช่วยให้คุณสามารถรันโค้ดหลังจากลองและจับโดยไม่คำนึงถึงผลที่ได้:

function myFunction()
    var message, x;
    message = document.getElementById("message");
    message.innerHTML = "";
    x = document.getElementById("demo").value;
    try {
        if(x == "") throw "Empty";
        if(isNaN(x)) throw "Not a number";
        if(x > 10) throw "Too high";
        if(x < 5) throw "Too low";
    }
    catch(err) {
        message.innerHTML = "Error: " + err + ".";
    }
    finally {
        document.getElementById("demo").value = "";
    }
}
ลองตัวเอง»

หน้าเว็บที่เกี่ยวข้อง

กวดวิชา JavaScript: ข้อผิดพลาด JavaScript

อ้างอิง JavaScript: JavaScript ทุ่มงบ


<JavaScript อ้างอิงงบ