কীভাবে কখন এবং কীভাবে যুক্তি ব্যবহার করতে হয় সে সম্পর্কে আমি প্রচুর নিবন্ধ (এবং স্ট্যাকওভারফ্লোতে পোস্ট করা কয়েকটি অন্যান্য অনুরূপ প্রশ্নাবলীর) পড়েছি এবং আমি সেগুলি ভালভাবে বুঝতে পেরেছি। তবে তবুও, আমি বুঝতে পারি না যে কোন ধরণের অনুপ্রেরণা আমাকে Debug.Assert
সরল ব্যতিক্রম ছড়িয়ে দেওয়ার পরিবর্তে ব্যবহার করতে চালিত করবে । আমি যা বলতে চাইছি তা হল। নেট এ ব্যর্থতার জন্য ডিফল্ট প্রতিক্রিয়া হ'ল "দুনিয়া বন্ধ করুন" এবং ব্যবহারকারীর কাছে একটি বার্তা বাক্স প্রদর্শন করা। যদিও এই ধরণের আচরণটি সংশোধন করা যেতে পারে তবে আমি এটি করা অত্যন্ত বিরক্তিকর এবং অপ্রয়োজনীয় মনে করি, যদিও আমি পরিবর্তে কেবল একটি উপযুক্ত ব্যতিক্রম ছুঁড়ে ফেলি। এইভাবে, আমি ব্যতিক্রমটি ছোঁড়ার ঠিক আগে অ্যাপ্লিকেশনটির লগে সহজেই ত্রুটিটি লিখতে পারি, এবং আরও, আমার অ্যাপ্লিকেশনটি অগত্যা হিম হয়ে যায়।
সুতরাং, কেন আমি, যদি কিছু না হয়, তবে Debug.Assert
একটি সরল ব্যতিক্রমের পরিবর্তে ব্যবহার করব ? এটি হওয়া উচিত নয় যেখানে একটি দৃ as়তা রাখা কেবলমাত্র সমস্ত ধরণের "অযাচিত আচরণ" সৃষ্টি করতে পারে, সুতরাং আমার দৃষ্টিতে আমি ব্যতিক্রম ছোঁড়ার পরিবর্তে একটি দৃ using়তা ব্যবহার করে কিছুই অর্জন করতে পারি না। আপনি কি আমার সাথে একমত, বা আমি এখানে কিছু মিস করছি?
দ্রষ্টব্য: "তত্ত্বের মধ্যে" পার্থক্যটি কী তা আমি পুরোপুরি বুঝতে পেরেছি (ডিবাগ বনাম রিলিজ, ব্যবহারের ধরণগুলি)) তবে আমি এটি দেখতে পাচ্ছি, আমি দৃ performing়তার সাথে সম্পাদন করার পরিবর্তে একটি ব্যতিক্রম ছুঁড়ে ফেলা ভাল। যেহেতু কোনও প্রোডাক্ট রিলিজটিতে কোনও বাগ সন্ধান করা হয়েছে, তবুও আমি চাই "দৃ "়তা" ব্যর্থ হওয়া (সর্বোপরি, "ওভারহেড" হাস্যকরভাবে ছোট)), তবে এর পরিবর্তে আমি একটি ব্যতিক্রম ছুঁড়ে ফেলা ভাল।
সম্পাদনা: আমি যেভাবে এটি দেখছি, যদি কোনও দৃ failed়তা ব্যর্থ হয় তবে এর অর্থ এই যে অ্যাপ্লিকেশনটি কোনও ধরণের দুর্নীতিগ্রস্থ, অপ্রত্যাশিত অবস্থায় প্রবেশ করেছে। তাহলে আমি কেন মৃত্যুদণ্ড চালিয়ে যেতে চাই? অ্যাপ্লিকেশনটি ডিবাগ বা রিলিজ সংস্করণে চলে কিনা তাতে কিছু যায় আসে না। উভয়ের ক্ষেত্রে একই রকম হয়