চেক আপ ব্যতিক্রম এবং রানটাইম ব্যতিক্রম মধ্যে পার্থক্য

Anonim

চেক আপ ব্যতিক্রম বনাম রানটাইম ব্যতিক্রম

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

একটি চেক আপ ব্যতিক্রম কি?

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

--২ ->

রানটাইম ব্যতিক্রম কি?

রানটাইম ব্যতিক্রমগুলি জাভা দ্বারা গঠিত ল্যাঙ। RuntimeException এবং তার সমস্ত উপ ক্লাস। থিওরিটিক্যালভাবে বলছে, তারা চেক আপ করার মতই একই উদ্দেশ্য সাধন করে এবং পরীক্ষা করা অ্যাপলিকেশনের মতই নিক্ষিপ্ত হতে পারে বা পরিচালিত হতে পারে, তবে কম্পাইলার দ্বারা তাদের পরিচালনা করা হয় না। অতএব, রানটাইম ব্যতিক্রম অনিচ্ছাকৃত ব্যতিক্রম পরিবারের অন্তর্গত। NullPointerException, সংখ্যাফরম্যাটএইচপশন, ক্লাসিকস্ট এক্সেকশপশন এবং অ্যারেউন্ডঅক্সঅ্যাডঅফবাইলস এক্সপ্রেসশন জাভাতে সাধারণ রানটাইম ব্যতিক্রম।

চেকড এক্সস্পেস এবং রানটাইম ব্যতিক্রম মধ্যে পার্থক্য কি?

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

পরীক্ষিত ব্যতিক্রমগুলির সঙ্গে অসুবিধা হল যে প্রোগ্রামারকে এটি পরিচালনা করতে হবে এমনকি যদি সে জানত না কিভাবে সুতরাং, যদি প্রোগ্রামার কেবল মূল নকল ছাড়াই একটি নতুন ব্যতিক্রমকে ছুঁড়ে ফেলে, তবে মূল ব্যতিক্রমটির স্ট্যাক ট্রেস হারিয়ে যাবে। এই যেখানে রানটাইম ব্যতিক্রম হস্তগত আসা। যেহেতু সব রানটাইম ব্যতিক্রমগুলি একক স্থানে পরিচালিত হতে পারে, তাই প্রোগ্রামাররা কম পরিমাণ কোড লিখতে পারেন। অন্যদিকে, পরীক্ষিত ব্যতিক্রম ধরা পড়ার পরে, প্রোগ্রামারের জন্য কোন অবাক হওয়ার কিছু নেই। তিনি সবসময় জানতে হবে কোন নির্দিষ্ট পদ্ধতি দ্বারা কোনও পরীক্ষা করা যাবে না। এর বিপরীতে, বিভিন্ন রানটাইম ব্যতিক্রমগুলি প্রোগ্রামারের জ্ঞান ছাড়াই নিক্ষিপ্ত হতে পারে।