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

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

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

ভিডিও: চেক করা ব্যতিক্রম এবং রানটাইম ব্যতিক্রমের মধ্যে পার্থক্য
ভিডিও: FTP vs SFTP 2024, জুলাই
Anonim

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

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

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

চেক করা ব্যতিক্রমগুলি হয় java.lang.exception শ্রেণীর অবজেক্ট বা এর সাবক্লাস (java.lang. RuntimeException এবং এর সাবক্লাস ব্যতীত)। চেক করা ব্যতিক্রমগুলি কম্পাইলের সময় "চেক করা" হয়। এর মানে প্রোগ্রামারকে অবশ্যই এই ব্যতিক্রমগুলি ধরতে হবে বা ফেলে দিতে হবে, অন্যথায় কম্পাইল অভিযোগ করবে (একটি কম্পাইলার ত্রুটি ঘটায়)। এই কারণে, অনেক চেক করা ব্যতিক্রম প্রোগ্রামারদের কাছে খুব পরিচিত। উদাহরণ স্বরূপ, IOException এবং এর সাব ক্লাসগুলি চেক করা ব্যতিক্রমগুলি, এবং যখনই প্রোগ্রামার একটি ফাইল অ্যাক্সেস বা সংশোধন করার বিষয়ে কাজ করে, কম্পাইলার চেক করে যে সমস্ত সম্ভাব্য IOExceptions প্রোগ্রামার দ্বারা যত্ন নেওয়া হয়েছে।

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

রানটাইম ব্যতিক্রমগুলি java.lang. RuntimeException এবং এর সমস্ত সাব ক্লাস নিয়ে গঠিত। তাত্ত্বিকভাবে বলতে গেলে, এগুলি চেক করা ব্যতিক্রমগুলির মতো একই উদ্দেশ্য পরিবেশন করে এবং চেক করা ব্যতিক্রমের মতো নিক্ষেপ বা পরিচালনা করা যেতে পারে, তবে সেগুলির পরিচালনা কম্পাইলার দ্বারা প্রয়োগ করা হয় না। অতএব, রানটাইম ব্যতিক্রমগুলি অচেক করা ব্যতিক্রমগুলির পরিবারের অন্তর্গত। NullPointerException, NumberFormatEception, ClassCastException এবং ArrayIndexOutOfBoundsException হল জাভাতে সাধারণ রানটাইম ব্যতিক্রম।

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

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

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

প্রস্তাবিত: