জেভাস্ক্রিপ্টের ট্রাই/ক্যাচ/ফাইনালি স্টেটমেন্ট

সংজ্ঞা ও ব্যবহার

ট্রাই/ক্যাচ/ফাইনালি স্টেটমেন্ট কোড ব্লকের অংশ বা সমস্ত ত্রুটি প্রক্রিয়াকরণ করে, যেখানে কোড একইসঙ্গে চলতে থাকে。

ত্রুটি প্রোগ্রামার কোডিং ত্রুটি, ভুল ইনপুটের কারণে উদ্ভূত ত্রুটি এবং অপরিকল্পিত পরিস্থিতির কারণে হতে পারে。

ট্রাই স্টেটমেন্ট আপনাকে এমন কোড ব্লক নির্ধারণ করতে দেয় যা এক্ষেত্রে ত্রুটির পরীক্ষা করা হবে。

যদি try ব্লকে ত্রুটি হয়, catch স্টেটমেন্টটা এমন একটা স্টেটমেন্ট যা ত্রুটিকে ধারণ করতে এবং সাজানোর জন্য কোড ব্লক নির্দিষ্ট করতে পারে।

finally স্টেটমেন্টটা এমন একটা স্টেটমেন্ট যা try এবং catch-এর পরেও কোড চলাকালীন চলতে থাকে, যেমন কোনোদিনই ফলাফল কোনোদিনই হয় না。

মন্তব্য:catch এবং finally স্টেটমেন্টগুলো অপশনাল, কিন্তু try স্টেটমেন্ট ব্যবহার করার সময় কোনোদিনই একটি ব্যবহার করতে হবে (কিন্তু উভয়ই না ব্যবহার করলেও কম)。

পইঠা:যদি ত্রুটি হয়, তবে জাভাস্ক্রিপ্ট সাধারণত বন্ধ হয় এবং ত্রুটির বার্তা তৈরি করে।কাস্টম ত্রুটি তৈরি করতে throw স্টেটমেন্ট ব্যবহার করুন (অস্ত্রুটি)।যদি throw-এর সাথে try এবং catch-এর ব্যবহার করা হয়, তবে প্রোগ্রামের প্রবাহ নিয়ন্ত্রণ করতে এবং কাস্টম ত্রুটির বার্তা তৈরি করতে পারেন。

জাভাস্ক্রিপ্ট ত্রুটির বিষয়ে আরও জানতে, জাভাস্ক্রিপ্ট ত্রুটি শিক্ষাক্রম শিখুন。

উদাহরণ

এই নমুনাটায়, আমরা কোডে (try ব্লকে) ভুল লিখেছি。

এই নমুনাটা 'Welcome guest!' প্রদর্শন করা উচিত, কিন্তু alert এর লিপিতে ভুল লেখা হয়েছে。

catch ব্লকটা ত্রুটিকে ধারণ করবে, এবং তা সাজানোর জন্য কোড চলাবে:

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

স্বয়ং প্রয়োগ করুন

পাতার নিচে আরও TIY নমুনা আছে

স্বরূপ

try {
  tryCode - চেষ্টা করার জন্য কোড ব্লক
}
catch(err) {
  catchCode - ত্রুটিকে হস্তক্ষেপ করার জন্য কোড ব্লক
} 
finally {
  finallyCode - যদি try / catch ফলাফল কোনোদিনই হয় না, তবে চলতে থাকা কোড ব্লক
}

প্রমাণমূলক মান

প্রমাণ বর্ণনা
tryCode অপরিহার্য।কোড চলাকালীন ত্রুটিকে পরীক্ষা করার জন্য কোড ব্লক
err অপরিহার্য, যদি catch-এর সাথে ব্যবহৃত হয়।ত্রুটিকে উল্লেখ করা স্থানীয় পরিবর্তনকে নির্দিষ্ট করুন।এই পরিবর্তনটা Error অবজেক্টকে উল্লেখ করতে পারে (যাতে ত্রুটির বিষয়ে তথ্য থাকে, যেমন 'addlert' নির্দিষ্ট করা হয় না)।যদি অস্ত্রুটি throw স্টেটমেন্ট দ্বারা তৈরি হয়, তবে এই পরিবর্তনটা throw স্টেটমেন্টের নির্দিষ্ট অবজেক্টকে উল্লেখ করে (আরও নমুনা দেখুন)。
catchCode অপশনাল।যদি try ব্লকে ত্রুটি হয়, তবে এটা করা হবে কোড ব্লক।যদি কোনো ত্রুটি না হয়, তবে এই কোড ব্লকটা কখনোই চলবে না。
finallyCode অপশনাল।কোনোদিনই try / catch ফলাফলের পরিণাম না করেও চলতে থাকা কোড ব্লক。

প্রযুক্তিগত বিবরণ

JavaScript সংস্করণ: ECMAScript 3

আরও উদাহরণ

উদাহরণ

এই উদাহরণ ইনপুট পরীক্ষা করে।যদি মান ভুল হয়, তবে অপরাধী (err) ফেলে দেয়।

catch 语句捕获异常 (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>

স্বয়ং প্রয়োগ করুন

উদাহরণ

finally 语句让你在 try 和 catch 之后执行代码,而不管结果如何:

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 = "";
  }
}

স্বয়ং প্রয়োগ করুন

ব্রাউজার সমর্থন

বিন্যাস Chrome IE Firefox Safari Opera
try/catch/finally সমর্থন সমর্থন সমর্থন সমর্থন সমর্থন

সংশ্লিষ্ট পৃষ্ঠা

JavaScript শিক্ষাদত্ত্র:JavaScript ত্রুটি

JavaScript পরামর্শপত্র:JavaScript throw বিবৃতি