Exceptionসমস্ত ব্যাতিক্রমের জন্য বেস টাইপ, এবং যেমন ভয়ঙ্করভাবে অপ্রয়োজনীয়। আপনার কখনও এই ব্যতিক্রমটি ছুঁড়ে ফেলা উচিত নয় কারণ এতে কোনও কার্যকর তথ্য থাকে না। ব্যতিক্রমগুলির জন্য কলিং কোডিং কোডিং অপ্রয়োজনীয় এবং সম্পূর্ণ ত্রুটিগুলি চিহ্নিত করে এমন অন্যান্য সিস্টেম ব্যতিক্রমগুলি থেকে ইচ্ছাকৃতভাবে ছোঁড়া ব্যতিক্রম (আপনার যুক্তি থেকে) ছিন্ন করতে পারে না।
একই কারণ এছাড়াও প্রযোজ্য SystemException। যদি আপনি উদ্ভূত প্রকারের তালিকার দিকে লক্ষ্য করেন তবে আপনি খুব আলাদা শব্দার্থবিজ্ঞানের সাথে প্রচুর অন্যান্য ব্যতিক্রম দেখতে পাচ্ছেন।
NullReferenceExceptionএবং IndexOutOfRangeExceptionঅন্যরকম। এখন এই অত্যন্ত সুনির্দিষ্ট ব্যাতিক্রম হয়, তাই নিক্ষেপ তাদের পারে জরিমানা হতে। তবে, আপনি এখনও এগুলি ফেলে দিতে চাইবেন না, কারণ এগুলি সাধারণত আপনার যুক্তিতে কিছু আসল ভুল রয়েছে বলে বোঝায়। উদাহরণস্বরূপ নাল রেফারেন্স ব্যতিক্রমটির অর্থ হল যে আপনি কোনও অবজেক্টের সদস্যকে অ্যাক্সেস করার চেষ্টা করছেন null। যদি আপনার কোডটিতে এটির কোনও সম্ভাবনা থাকে তবে আপনার উচিত সর্বদা স্পষ্টভাবে পরীক্ষা করা nullএবং পরিবর্তে আরও কার্যকর ব্যতিক্রম ছুঁড়ে দেওয়া (উদাহরণস্বরূপ ArgumentNullException)। একইভাবে, IndexOutOfRangeExceptionযখন আপনি একটি অবৈধ সূচক অ্যাক্সেস করেন (অ্যারেগুলিতে on তালিকাগুলিতে নয়) s আপনার সর্বদা নিশ্চিত হওয়া উচিত যে আপনি এটি প্রথম স্থানে না করেন এবং প্রথমে কোনও অ্যারের সীমানা পরীক্ষা করে।
এই দুটির মতো আরও কয়েকটি ব্যতিক্রম রয়েছে, উদাহরণস্বরূপ InvalidCastExceptionবা DivideByZeroException, যা আপনার কোডে নির্দিষ্ট ত্রুটির জন্য নিক্ষেপ করা হয় এবং এর অর্থ সাধারণত যে আপনি কিছু ভুল করছেন বা আপনি প্রথমে কিছু অবৈধ মান পরীক্ষা করছেন না। আপনার কোড থেকে তাদের জেনেশুনে ফেলে দিয়ে, কোডিং কোডের কোনও ত্রুটি থাকার কারণে তারা ফেলে দেওয়া হয়েছিল কিনা তা নির্ধারণ করার জন্য আপনি কেবলমাত্র আরও শক্ত করে তুলছেন বা আপনার বাস্তবায়নের কোনও কারণে সেগুলি পুনরায় ব্যবহার করার সিদ্ধান্ত নিয়েছেন।
অবশ্যই, এই নিয়মগুলির কিছু ব্যতিক্রম (হা) রয়েছে। আপনি যদি এমন কিছু নির্মাণ করছেন যা কোনও ব্যতিক্রমের কারণ হতে পারে যা বিদ্যমান বিদ্যমানটির সাথে হুবহু মিলে যায় তবে তা নির্দ্বিধায় ব্যবহার করুন, বিশেষত যদি আপনি কিছু অন্তর্নির্মিত আচরণের সাথে মেলে চেষ্টা করছেন। কেবলমাত্র আপনি খুব নির্দিষ্ট একটি ব্যতিক্রম প্রকার বেছে নিয়েছেন তা নিশ্চিত করুন।
যদিও সাধারণভাবে, আপনি যদি কোনও (নির্দিষ্ট) ব্যতিক্রম না খুঁজে পান যা আপনার প্রয়োজনীয়তা পূরণ করে, আপনি সর্বদা নির্দিষ্ট প্রত্যাশিত ব্যতিক্রমগুলির জন্য নিজের ব্যতিক্রম প্রকারগুলি তৈরির বিষয়ে বিবেচনা করা উচিত। বিশেষত যখন আপনি গ্রন্থাগার কোড লিখছেন, ব্যতিক্রম উত্সগুলি পৃথক করতে এটি খুব কার্যকর হতে পারে।