أحدث البرامج التعليمية وتطوير الشبكة
 

JavaScript محاولة / صيد / أخيرا الإعلان

<جافا سكريبت القوائم المرجعية

مثال

في هذا المثال، حققنا مطبعي في التعليمات البرمجية (في كتلة المحاولة).

يفترض المثال لتنبيه "Welcome guest!" ، ولكن خطأ إملائي في حالة تأهب.

كتلة التقاط أدرك الخطأ، وتنفيذ مدونة على التعامل معها:

<!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) أثناء استخدام بيان المحاولة.

نصيحة: عند حدوث خطأ، وجافا سكريبت وقف عادة، وإنشاء رسالة خطأ. استخدام رمي تصريح لإنشاء خطأ مخصصة (throw an exception) . إذا كنت تستخدم رمي جنبا إلى جنب مع محاولة والصيد، ويمكنك التحكم في تدفق البرنامج وإنشاء رسائل الخطأ المخصصة.

لمزيد من المعلومات حول أخطاء جافا سكريبت، تلا جافا سكريبت أخطاء التعليمي.


دعم المتصفح

بيان
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 اختياري. كتلة من التعليمات البرمجية ليتم تنفيذها بغض النظر عن / نتيجة الصيد المحاولة

تفاصيل تقنية

نسخة جافا سكريبت: 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 = "";
    }
}
انها محاولة لنفسك »

صفحات ذات صلة

جافا سكريبت تعليمي: أخطاء جافا سكريبت

جافا سكريبت المرجعي: جافا سكريبت بيان رمي


<جافا سكريبت القوائم المرجعية