সুচিপত্র[লুকান][দেখান]
এই বক্তৃতাটি গুরুত্বপূর্ণ হতে চলেছে যদি আপনি বড় প্রোগ্রাম নিয়ে কাজ করেন।
আপনি ব্যতিক্রম ব্লক এবং পাইথনে মন্তব্য ব্যবহার করে ত্রুটিগুলি পরিচালনা করতে শিখবেন।
ব্যতিক্রমসমূহ
আমরা শিখতে যাচ্ছি কিভাবে পাইথন প্রোগ্রামে ত্রুটিগুলি পরিচালনা করতে হয়। টার্মিনাল থেকে ব্যবহারকারীর বয়স পেতে একটি ছোট প্রোগ্রাম লিখে শুরু করা যাক।
age = int(input('Age'))
print(age)
চলুন এটা চালানো যাক.
এখন, এই প্রোগ্রামের প্রস্থান কোড দেখুন। প্রস্থান কোড 0 মানে আমাদের প্রোগ্রাম সফলভাবে সমাপ্ত হয়েছে এবং কোন ত্রুটি ছিল না। কিন্তু যদি আমরা এই প্রোগ্রামটি আরও একবার চালাই এবং একটি সংখ্যাসূচক মান প্রবেশের পরিবর্তে, আমরা একটি স্ট্রিং লিখি?
আমরা তার বার্তার সাথে একটি মান ত্রুটি পেয়েছি “invalid literal for int() with base 10” মূলত এই বার্তাটি আমাদের যা বলছে তা হল এই স্ট্রিং “qwe”-এ একটি বৈধ হোম নম্বর নেই যা একটি পূর্ণসংখ্যাতে রূপান্তর করা যেতে পারে। এখন, এই প্রোগ্রামের প্রস্থান কোড দেখুন। এক্সিট কোড 1 মানে আমাদের এক্সিট কোড ক্র্যাশ হয়েছে, তাই 0 মানে সবসময় সফলতা এবং 0 ছাড়া অন্য কিছু মানে ক্র্যাশ। প্রোগ্রামিং-এ, আমরা এই ধরনের ত্রুটিকে ব্যতিক্রম হিসেবে উল্লেখ করি।
একজন ভাল পাইথন প্রোগ্রামার হিসাবে, আপনার এই পরিস্থিতিটি অনুমান করা উচিত। ব্যবহারকারী একটি অবৈধ মান প্রবেশ করায় আপনি আপনার সম্পূর্ণ প্রোগ্রাম ক্র্যাশ হতে দিতে চান না। সুতরাং প্রোগ্রামটি ক্র্যাশ হওয়ার পরিবর্তে আপনার পরিস্থিতি পরিচালনা করা উচিত এবং একটি সঠিক ত্রুটি বার্তা প্রিন্ট করা উচিত। এই বক্তৃতায় আমি আপনাকে দেখাতে যাচ্ছি।
পাইথনে, আমাদের একটি গঠন বলা হয় try except
ত্রুটি পরিস্থিতি মোকাবেলা করতে ব্যবহৃত.
try:
age = int(input('Age'))
print(age)
কোডের এই দুটি লাইন আমাদের অংশ try:
ব্লক আমরা যোগ করব except
এর পরে ব্লক করুন আমরা যে ধরনের ত্রুটির প্রত্যাশা করছি।
except ValueError:
print('Invalid Value')
মান ত্রুটির ক্ষেত্রে এটি এখন "অবৈধ মান" স্ট্রিংটি ফেরত দেবে।
আগের প্রোগ্রাম পরিবর্তন করে অন্য ধরনের ত্রুটি পরীক্ষা করা যাক.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ValueError:
print('Invalid Value')
এখন, যদি আমরা এই প্রোগ্রামটি চালাই এবং বয়সে '0' ইনপুট করি, একটি সংখ্যাসূচক মান। অতএব, প্রযুক্তিগতভাবে, আমাদের কোন ব্যতিক্রম পাওয়া উচিত নয়।
চলুন এটা চালানো যাক.
দেখা যাক. আমাদের প্রোগ্রাম ক্র্যাশ হয়ে গেছে এবং আমরা একটি "জিরো ডিভিশন এরর" করেছি কারণ আমরা একটি সংখ্যাকে 0 দিয়ে ভাগ করতে পারি না। আবার একবার প্রস্থান কোডটি দেখুন। আমরা ব্লক ছাড়া এই ধরনের ত্রুটি বা এই ধরনের ব্যতিক্রম ধরতে পারিনি।
ব্লক ব্যতীত এটি শুধুমাত্র টাইপ মান ত্রুটির ব্যতিক্রমগুলি ধরছে এবং জিরো ডিভিশন ত্রুটি পরিচালনা করার জন্য আমাদের ব্লক ছাড়া একটি নতুন প্রয়োজন হবে। সেই অনুযায়ী প্রোগ্রাম পরিবর্তন করা যাক.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ZeroDivisionError:
print('Age cannot be 0')
except ValueError:
print('Invalid Value')
সমস্যাটি সমাধানকৃত!
- বাক্যগঠন ত্রুটি
- টাইপ ত্রুটি
- নামের ত্রুটি
- সূচক ত্রুটি
- মান ত্রুটি
- জিরোডিভিশন ত্রুটি
- বৈশিষ্ট্য ত্রুটি
- রানটাইম ত্রুটি
- মূল ত্রুটি
- মেমরি ত্রুটি
- দাবী ত্রুটি
- ইন্ডেন্টেশন ত্রুটি
- ইওফারর
- ফ্লোটিং পয়েন্ট ত্রুটি
- ওভারফ্লো ত্রুটি
- লজিক ত্রুটি
- সিস্টেম ত্রুটি
- প্রয়োগকৃত ত্রুটি
- Oserror
- আইওরর
- রেফারেন্স ত্রুটি
- ইউনিকোড ত্রুটি
- পাটিগণিত ত্রুটি
- ইউনিকোডডিকোড ত্রুটি
- ইউনিকোডেনকোড ত্রুটি
- ইউনিকোড অনুবাদ ত্রুটি
- রানটাইম ত্রুটি
একজন প্রোগ্রামার হিসাবে, আপনার প্রোগ্রামের সমস্ত ব্যতিক্রম সম্পর্কে আপনার সচেতন হওয়া উচিত এবং সেই অনুযায়ী আপনার সেগুলি পরিচালনা করা উচিত।
মন্তব্য
এখন, আমরা পাইথনে মন্তব্য সম্পর্কে কথা বলতে যাচ্ছি। আমরা পঠনযোগ্যতা উন্নত করতে এবং আমাদের কোড পড়া কাউকে কিছু বার্তা জানাতে আমাদের প্রোগ্রামগুলিতে নোট বা মন্তব্য যোগ করতে মন্তব্য ব্যবহার করি।
# চিহ্ন ব্যবহার করে প্রোগ্রামে মন্তব্য লেখা যাবে। # এর পরে আপনি যা লিখবেন তা পাইথন কম্পাইলার দ্বারা উপেক্ষা করা হবে এবং কার্যকর করা হবে না। আপনি পৃথক লাইনের পাশাপাশি কোডের একটি লাইনের পরে মন্তব্য যোগ করতে পারেন।
এই মন্তব্যগুলির মাধ্যমে, আমরা আমাদের কোড সম্পর্কে কিছু ব্যাখ্যা করতে পারি, আমরা সেগুলিকে জিনিসগুলিকে ঠিক করতে বা জিনিসগুলি পরিষ্কার করার জন্য অনুস্মারক হিসাবে ব্যবহার করতে পারি, অথবা আমরা সেগুলিকে আমাদের কোড পড়া অন্যান্য বিকাশকারীদের সাথে যোগাযোগ করতে বা কেন আমরা এই কোডটি লিখেছি তা ব্যাখ্যা করতে ব্যবহার করতে পারি একটি নির্দিষ্ট উপায়। মন্তব্য ব্যবহার করার জন্য এগুলি ভাল ব্যবহারের ক্ষেত্রে। আমরা একাধিক লাইনে মন্তব্য করতে পারি। প্রতিটি লাইন একটি নতুন # চিহ্ন দিয়ে শুরু হওয়া উচিত। এখন মন্তব্য ব্যবহার করার সময় আপনাকে একটি জিনিস এড়াতে হবে কোডটি কী করে তা ব্যাখ্যা করা।
এখানে একটি খারাপ মন্তব্যের একটি উদাহরণ:
এটি একটি খারাপ মন্তব্য কারণ এটি আমাকে স্পষ্ট বলছে। এটি আমাকে বলছে যে পরবর্তী লাইনটি "পশ্চিমে সূর্যাস্ত" মুদ্রণ করতে যাচ্ছে। এখন এই মন্তব্যের সাথে সমস্যা হল যে আপনি এখানে এসে পশ্চিম থেকে পূর্ব পরিবর্তন করলে শব্দবাচক এবং পুনরাবৃত্তিমূলক হওয়া ছাড়াও এই মন্তব্যটি পুরানো হয়ে যায়। সুতরাং, প্রতিবার আমরা আমাদের কোড আপডেট করার সময় আমাদের ফিরে আসতে হবে এবং সংশ্লিষ্ট মন্তব্যটি সংশোধন করতে হবে।
সংক্ষেপে, কিসের পরিবর্তে কীভাবে এবং কেন এর উত্তর দিতে আপনার মন্তব্যগুলি ব্যবহার করুন৷
এখানে একটি ভাল মন্তব্যের একটি উদাহরণ:
প্রথম মন্তব্যে, আমি নিজেকে মনে করিয়ে দিচ্ছি যে প্রোগ্রামটি চূড়ান্ত করার আগে আমাকে এই আয়ের মান আপডেট করতে হবে এবং দ্বিতীয় মানটি আমার কোড পড়া অন্যান্য বিকাশকারীদের বলছে যে এই প্রোগ্রামে সমস্ত ত্রুটি পরিচালনা করা হয় না।
উপসংহারে, আপনার অপ্রয়োজনীয় মন্তব্যগুলি এড়ানো উচিত এবং আপনার মন্তব্যগুলি আপনার কোডে কিছু মান যুক্ত করা উচিত।
শেষ করি!
ব্যতিক্রম এবং মন্তব্য প্রোগ্রামিং এর দুটি দিক যা প্রায়শই উপেক্ষা করা হয় এবং তাদের তাত্পর্য সাধারণত আন্ডাররেট করা হয়।
আপনার প্রোগ্রাম ক্র্যাশ করা আপনার কোডে যেখানে প্রয়োজন সেখানে মন্তব্য না করার মতোই খারাপ। পরবর্তী লেকচার ক্লাস এবং কনস্ট্রাক্টরের উপর ফোকাস করবে।
নির্দেশিকা সমন্ধে মতামত দিন