ব্যতিক্রম এবং ত্রুটি মধ্যে পার্থক্য

Anonim

ব্যতিক্রম বনাম ত্রুটি

অপ্রত্যাশিত আচরণ ঘটে যখন একটি প্রোগ্রাম চলছে। এটি ব্যতিক্রম বা ত্রুটিগুলির কারণে হতে পারে। ব্যতিক্রমগুলি ঘটনা, যা সাধারণ প্রোগ্রামের প্রবাহকে বিরত করতে পারে। ত্রুটিগুলি শর্তগুলি যা পুনরুদ্ধারযোগ্য বলে বিবেচনা করা যায়। ব্যতিক্রমগুলি বেশিরভাগ অ্যাপ্লিকেশন নিজেই সম্পর্কিত, ত্রুটিগুলি যে সিস্টেমটি চলছে সেখানে সিস্টেমের সাথে সম্পর্কিত।

একটি ব্যতিক্রম কি?

ব্যতিক্রম একটি ঘটনা, যা সাধারণ প্রোগ্রামের প্রবাহকে বিরত করতে পারে। নাম ব্যতিক্রম "ব্যতিক্রমী ঘটনা" থেকে আসে। ব্যতিক্রমটি ছাঁটাই একটি ব্যতিক্রম বস্তু তৈরি করার প্রক্রিয়া এবং এটি রানটাইম সিস্টেমের কাছে হস্তান্তর করার প্রক্রিয়া। আপত্তি বস্তুটি ব্যতিক্রম পদ্ধতিতে তৈরি করা হয়েছে। আপত্তি বস্তুটি দরকারী তথ্য যেমন ব্যতিক্রম টাইপ এবং বিবরণ অন্তর্ভুক্ত। যখন রানটাইম সিস্টেম ব্যতিক্রম বস্তুটি পায়, তখন এটি কাউকে স্ট্যাকের মধ্যে বিপরীত ক্রমে (যার মধ্যে পদ্ধতিগুলি বলা হয়) ট্রাভ করার মাধ্যমে এটি পরিচালনা করার চেষ্টা করবে। কল স্ট্যাক পদ্ধতির আদেশ তালিকা, যা আপগ্রেড পদ্ধতিতে পূর্বে যা বলা হয়। রানটাইম সিস্টেম সফল হলে এটি একটি ব্যতিক্রম হ্যান্ডলার দিয়ে একটি পদ্ধতি খুঁজে পায়। ব্যতিক্রম হ্যান্ডলার কোড একটি ব্লক যা আনুষ্ঠানিকভাবে উক্ত ব্যতিক্রম হ্যান্ডেল পারে। রানটাইম সিস্টেম যদি একটি উপযুক্ত হ্যান্ডলার খুঁজে পায় তবে (i। প্রকারের ব্যতিক্রমটি টাইপ দ্বারা পরিচালিত টাইপের সাথে মেলে), এটি হ্যান্ডলারের ব্যতিক্রম বস্তুটি পাস করবে। এই ব্যতিক্রম ধরা ধরা বলা হয়। যাইহোক, যদি আপগ্রেড না করা যায় তবে প্রোগ্রামটি বন্ধ হয়ে যাবে। জাভাতে, ব্যতিক্রমগুলি 'থ্রোয়েবল ক্লাস থেকে উত্তরাধিকারী। 'NullPointerException এবং ArrayIndexOutOfBoundsException জাভাতে দুটি সাধারণ ব্যতিক্রম।

--২ ->

একটি ত্রুটি কি?

একটি ত্রুটি এমন একটি শর্ত যা অব্যবহৃত বলে বিবেচিত হতে পারে যেমন প্রোগ্রাম যা উপলভ্য কিছুর চেয়ে বড় পরিমাণে মেমরি প্রয়োজন। এই ত্রুটিগুলি রানটাইম এ পরিচালনা করা যাবে না। একটি ত্রুটি ঘটেছে, প্রোগ্রাম শেষ হবে। জাভাতে, ত্রুটিগুলি হ্রাসযোগ্য বর্গ থেকে উত্তরাধিকারী। ত্রুটি সাধারণত গুরুতর সমস্যাগুলির জন্য দাঁড়ায় যে প্রোগ্রামার (বা অ্যাপ্লিকেশন) ধরতে চেষ্টা করা উচিত নয়। ত্রুটিগুলি কেবল অস্বাভাবিক অবস্থা, যা স্বাভাবিক অবস্থায় ঘটতে পারে বলে আশা করা হয় না, এবং তাই কখনোই অনুমান করা যায় না। উদাহরণস্বরূপ, OutOfMemoryError, StackOverflowError এবং থ্রেড্ডড যেমন ত্রুটি। পদ্ধতি ত্রুটিগুলি জন্য হ্যান্ডলার উচিত না।

ব্যতিক্রম এবং ত্রুটি মধ্যে পার্থক্য কি?

উভয় ত্রুটি এবং ব্যতিক্রম একটি প্রোগ্রাম নির্বাহের সময় অবাঞ্ছিত ঘটনা। তবে, তাদের প্রধান পার্থক্য আছে। ব্যতিক্রমগুলি প্রোগ্রামার দ্বারা অনুমান করা যেতে পারে, একটি ত্রুটি অনুমান করা কঠিন।ব্যতিক্রমগুলি চেক করা বা অচিহ্নিত করা যায়। কিন্তু ত্রুটি সবসময় অচিহ্নিত হয়। ব্যতিক্রমগুলি সাধারণত প্রোগ্রামার দ্বারা সৃষ্ট একটি ত্রুটি নির্দেশ করে। যাইহোক, ত্রুটির কারণে একটি সিস্টেম ত্রুটি বা একটি সম্পদ একটি অনুপযুক্ত ব্যবহার কারণে ঘটে। অতএব, অ্যাপ্লিকেশন স্তরে আপগ্রেড করা উচিত, ত্রুটিগুলি সিস্টেমের স্তরের (শুধুমাত্র যদি সম্ভব হয়) যত্ন নেওয়া উচিত। একটি ব্যতিক্রম পরিচালনার পর, আপনি স্বাভাবিক প্রোগ্রাম ফ্লো ফিরে ফিরে নিশ্চিত করা হয়। কিন্তু একটি ত্রুটি ধরা হয়, এমনকি যদি, প্রোগ্রামার প্রথম স্থানে এটি কিভাবে পরিচালনা করতে পারে না। ঐতিহ্যগত ত্রুটির পরিচালনার থেকে ভিন্ন, ব্যতিক্রম নিয়মিত কোড থেকে ত্রুটি-হ্যান্ডলিং কোড পৃথক করার অনুমতি দেয়।