আমি সত্যিই এনএসএসার্টের সাথে কথা বলতে পারি না, তবে আমি ধারণা করি যে এটি সি এর দৃsert়তার সাথে একইভাবে কাজ করে ()।
assert () আপনার কোডে একটি শব্দার্থক চুক্তি প্রয়োগ করতে ব্যবহৃত হয়। যে, আপনি জিজ্ঞাসা অর্থ কি?
ঠিক আছে, আপনি যেমন বলেছেন তার মতো: আপনার যদি এমন কোনও ফাংশন থাকে যা কখনই -1 পাওয়া না যায় তবে আপনার দৃ (়তা () চাপিয়ে দিতে পারে:
অকার্যকর gimme_positive_ints (int i) {
জোড় (i> 0);
}
এবং এখন আপনি ত্রুটি লগতে (বা এসটিডিআরআর) এর মতো কিছু দেখতে পাবেন:
আমি> 0 যুক্তি ব্যর্থ হয়েছে: ফাইলের উদাহরণ। কোড, লাইন 2
সুতরাং এটি কেবল সম্ভাব্য খারাপ ইনপুটগুলির বিরুদ্ধে সুরক্ষিত রাখে না তবে এটি তাদের দরকারী, মানক উপায়ে লগ করে।
ওহ, এবং কমপক্ষে সি সিলেক্ট করা () একটি ম্যাক্রো ছিল, সুতরাং আপনি আপনার প্রকাশের কোডটিতে একটি দাবী হিসাবে দাবী ()টিকে নতুন করে সংজ্ঞায়িত করতে পারেন। আমি জানি না এটি এনএসএসার্টের ক্ষেত্রে (বা আরও জোর দেওয়া () আরও) থাকলেও those চেকগুলি संकलित করতে এটি বেশ কার্যকর ছিল।