সামগ্রিকভাবে, চেষ্টা / ক্যাচ ব্যবহার করে যা অনেকটা হ্রাস করা হয়, কারণ ক্যাচ ব্লক সংস্থানগুলির দিক থেকে এত ব্যয়বহুল। ব্যবহার / ধরার ব্যবহার আমাকে ঝুঁকি ব্যবস্থাপনার কথা মনে করিয়ে দেয় । ঝুঁকি ব্যবস্থাপনার দুটি মাত্রা রয়েছে:
- ঝুঁকি হওয়ার সম্ভাবনা
- এতে ক্ষতি হতে পারে
এখন, আপনি যদি আপনার বাড়ির বাইরে চলে যান তবে পিয়ানো আপনার মাথায় কোথাও পড়ছে এমনটি হওয়ার সম্ভাবনা খুব কম (সম্ভবত 0.001%), তবে আপনাকে হত্যা করতে পারে।
ব্যতিক্রম হ্যান্ডলিং এর মত হয়। ব্লক চেষ্টা করুন ব্যয়বহুল নয়। তবে ক্যাচ ব্লকটি সত্যই ব্যয়বহুল, কারণ এটি স্ট্যাক ট্রেসের একটি টেবিল তৈরি করতে এবং অন্যান্য জিনিসগুলি করা দরকার। অতএব ট্র্যাচ / ক্যাচ ব্লক সম্পর্কে সিদ্ধান্ত নেওয়ার ক্ষেত্রে, আপনি সম্ভবত কতবার ক্যাচ ব্লকে আঘাত করেছেন তা বিবেচনা করা উচিত। 10,000 টি ব্যবহারের মধ্যে যদি আপনি কেবল 1 বার আঘাত করেন তবে এটি ব্যবহার করুন। তবে যদি এটি কোনও ফর্ম হয় এবং ব্যবহারকারী সম্ভবত এটি 50% বার সঠিকভাবে পূরণ না করে তবে আপনার সেখানে চেষ্টা করার চেষ্টা / ক্যাপ ব্লকটি এড়ানো উচিত।
যে জায়গাগুলিতে ব্যতিক্রম হওয়ার সম্ভাবনা বেশি, সেখানে if {} else {}
ব্যতিক্রম ঘটনা এড়াতে ব্লক ব্যবহার করার পরামর্শ দেওয়া হয়। উদাহরণস্বরূপ, আপনি লেখার পরিবর্তে যেখানে দুটি সংখ্যা ভাগ করতে চান:
try
{
int result = a/b;
}
catch (DivisionByZeroException ex)
{
// Showing a message here, and logging of course.
}
আপনার লেখা উচিত:
if (b == 0)
{
int result = a/b;
}
else
{
// Showing a message to user to change the value of b, etc.
}