পাইথন চেষ্টা করে... বিবৃতি ছাড়া একটি ব্যতিক্রম ধরা পড়ে। এটি "ট্রাই" বিবৃতিতে লেখা একটি ত্রুটির জন্য কোড পরীক্ষা করতে ব্যবহৃত হয়। যদি একটি ত্রুটির সম্মুখীন হয়, "ব্যতীত" ব্লকের বিষয়বস্তু চালানো হয়৷৷
পাইথনে ট্রাই এন্ড ছাড়া কিভাবে ব্যবহার করবেন
আপনি বাকি প্রোগ্রাম চালানোর অনুমতি দেওয়ার আগে এটি সঠিকভাবে কাজ করে তা নিশ্চিত করার জন্য কোডের একটি নির্দিষ্ট ব্লক পরীক্ষা করতে চাইতে পারেন। উদাহরণস্বরূপ, বলুন আপনি একটি প্রোগ্রামের জন্য প্রচুর পরিমাণে নতুন কোড লিখেছেন। বাকি প্রোগ্রাম চালানোর আগে আপনি নিশ্চিত করতে চান যে এটি কাজ করে।
চেষ্টা করুন...ব্লক ব্যতীত আপনাকে আপনার কোড পরীক্ষা করতে দেয় এবং একটি উত্থাপিত হলে একটি ব্যতিক্রম পরিচালনা করতে দেয়। আপনি চেষ্টার ফলাফলের উপর নির্ভর করে অতিরিক্ত কোড চালানোর জন্য অবশেষে এবং অন্যথায় বিবৃতি যোগ করতে পারেন...ব্লক ছাড়া।
এই টিউটোরিয়ালে, আমরা পাইথন ব্যতীত এবং চেষ্টা করার পদ্ধতি সম্পর্কে কথা বলতে যাচ্ছি। আমরা একটি উদাহরণ উল্লেখ করব যাতে আপনি দ্রুত চেষ্টা এবং ছাড়া ব্যবহার শুরু করতে পারেন৷
৷পাইথন ত্রুটি এবং ব্যতিক্রম রিফ্রেসার
পাইথনে, আপনি দুটি ধরণের ত্রুটির সম্মুখীন হতে পারেন:সিনট্যাক্স ত্রুটি এবং ব্যতিক্রম৷
পাইথন সিনট্যাক্স ত্রুটি হল এক ধরনের ত্রুটি যা আপনি যখন ভুল সিনট্যাক্স ব্যবহার করেন তখন ফিরে আসে। উদাহরণস্বরূপ, যদি আপনি একটি যখন সত্য লেখেন শেষে একটি কোলন ছাড়া লুপ, প্রোগ্রাম একটি ত্রুটি রিপোর্ট করবে.
যখন সিনট্যাক্স ত্রুটি দেখা দেয়, তারা ফাইলের নাম, লাইন নম্বর এবং একটি সূচক যেখানে একটি ত্রুটি উপস্থিত হতে পারে তা ফেরত দেয়।
ব্যতিক্রম হল এক ধরনের ত্রুটি যেখানে কোডের সঠিক সিনট্যাক্স থাকতে পারে কিন্তু তবুও একটি সমস্যা রয়েছে। অনেক ধরনের ব্যতিক্রম আছে, কিন্তু আপনি সবচেয়ে সাধারণ কিছুর সম্মুখীন হবেন:ArithmeticError, ImportError, ZeroDivisionError, NameError, এবং TypeError।
81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷
৷গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় ব্যয় করেছে।
পাইথন চেষ্টা করুন...বিবৃতি ছাড়া
Python try... স্টেটমেন্ট ছাড়া কোডটি "ট্রাই" স্টেটমেন্টের অধীনে চলে। যদি এই কোডটি সফলভাবে কার্যকর না হয়, তাহলে প্রোগ্রামটি সেই লাইনে থেমে যাবে যার কারণে ত্রুটি ঘটেছে এবং "ব্যতীত" কোডটি চলবে৷
ট্রাই ব্লক আপনাকে ত্রুটির জন্য কোডের একটি ব্লক পরীক্ষা করতে দেয়। ব্যতিক্রম ব্লক আপনাকে ব্যবহারকারী-সংজ্ঞায়িত প্রতিক্রিয়া সহ ত্রুটি পরিচালনা করতে সক্ষম করে।
এখানে চেষ্টা করার জন্য সিনট্যাক্স রয়েছে...ব্লক ছাড়া:
try: yourcode... except: yourcode...
আপনি একটি চেষ্টার মধ্যে বা বিবৃতি ছাড়া যেকোনো বৈধ পাইথন কোড ঢেকে দিতে পারেন।
চেষ্টা করুন...পাইথন উদাহরণ ছাড়া
এখানে চেষ্টা করার জন্য সিনট্যাক্সের একটি উদাহরণ রয়েছে...ব্লক ব্যতীত:
try: print(ourVariable) except: print('Error returned')
উপরের উদাহরণে, আমরা পাইথন ভেরিয়েবলকে ourVariable ঘোষণা করিনি , তবুও আমরা আমাদের ট্রাই ব্লকে এটি ব্যবহার করার চেষ্টা করি।
যদি আমরা চেষ্টা না করতাম...আমাদের কোডে ব্লক ব্যতীত, প্রোগ্রামটি একটি ত্রুটি বার্তা ফেরত দেবে। ডিবাগিংয়ের সময় একটি ত্রুটির বার্তা দেখা ঠিক থাকলেও, একজন নিয়মিত ব্যবহারকারী যদি একটি ত্রুটি বার্তা দেখতে পান তবে তারা বিভ্রান্ত হতে পারেন।
কারণ আমরা চেষ্টা করেছি...ব্লক ব্যতীত, আমাদের কোড জানে কোনো ত্রুটির সম্মুখীন হলে কী করতে হবে।
এখানে আমাদের কোডের ফলাফল:
Error returned
চেষ্টা করুন...ব্লক ব্যতীত আপনাকে ব্যতিক্রমগুলিকে সুন্দরভাবে পরিচালনা করতে দেয়। আপনি পাইথনের লগিং মডিউলের মতো একটি প্যাকেজ ব্যবহার করে লগ ফাইলে একটি ব্যতিক্রম সংরক্ষণ করার মতো একটি বৈশিষ্ট্য বাস্তবায়ন করতে চাইতে পারেন। এটি আপনাকে উত্থাপিত ব্যতিক্রমগুলির ট্র্যাক রাখতে দেয়৷
চেষ্টা করুন...পাইথন ছাড়া:একাধিক স্টেটমেন্ট ছাড়া
আপনি ব্যতীত পুনরাবৃত্তি করতে পারেন একাধিক ব্যতিক্রমের জন্য পরীক্ষা করার জন্য বিভিন্ন ধরনের ত্রুটির বিবৃতি। এটি দরকারী যদি আপনি সন্দেহ করেন যে অনেক ব্যতিক্রমগুলির মধ্যে একটি উত্থাপিত হতে পারে তবে আপনি নিশ্চিত নন যে আপনি কোনটির মুখোমুখি হবেন৷
এখানে চেষ্টা করার একটি উদাহরণ দেওয়া হল...ব্লকগুলি ব্যতীত যা একটি NameError:
খোঁজেtry: print(ourVariable) except NameError: print('ourVariable is not defined') except: print('Error returned')
এই ক্ষেত্রে, আমাদের কোড আওয়ার ভ্যারিয়েবল প্রদান করে সংজ্ঞায়িত করা হয় না কারণ আমাদের কোড একটি NameError প্রদান করে। আমরা যে কোডটি পরীক্ষা করছি তার উপর নির্ভর করে আমরা আরও ত্রুটি যোগ করতে পারি, যেমন একটি ZeroDivisionError বা একটি OSError৷
উদাহরণস্বরূপ, আপনি যদি একটি ফাইল খুলতে চান তবে আপনি একটি IOError এবং একটি FileNotFoundError পরীক্ষা করতে পারেন। একাধিক ব্যতিক্রমের জন্য চেক করা নিশ্চিত করবে যে আপনার উল্লেখ করা ফাইলটি খোলার সময় ত্রুটি থাকলেও আপনার প্রোগ্রামটি চলতে থাকবে।
চেষ্টা করুন...পাইথন ছাড়া:অবশেষে
কিন্তু যদি আমরা একটি বার্তা প্রিন্ট করতে চাই যদি একটি ত্রুটি ফেরত দেওয়া হয় এবং যদি কোনো ত্রুটি পাওয়া না যায়? সেখানেই অবশেষে ব্লক আসে। যদি আপনি একটি চূড়ান্ত ধারা সংজ্ঞায়িত করেন, তবে এর বিষয়বস্তু নির্বিশেষে কার্যকর করা হবে...ব্লক একটি ত্রুটি উত্থাপন ব্যতীত।
অবশেষে ব্লকগুলি একটি দরকারী সূচক যা আপনি কোডটি কার্যকর করেছেন। যেহেতু তারা একটি কোড সফলভাবে কার্যকর হয়েছে কিনা তার মধ্যে পার্থক্য করে না, সেগুলি সাধারণত ব্যবহৃত হয় না৷
এখানে একটি উদাহরণ:
try: print(ourVariable) except: print('ourVariable is not defined') finally: print('Code has been run.')
আমাদের প্রোগ্রাম নিম্নলিখিত প্রদান করে:
ourVariable is not defined Code has been run.
কোডটি ব্যতীত ব্লক এক্সিকিউট করে কারণ আমাদের কোডে একটি ব্যতিক্রম পাওয়া গেছে (আমাদের ভেরিয়েবল সংজ্ঞায়িত করা হয়নি)। অবশেষে এর মধ্যে কোড ধারাটিও কার্যকর করে, কারণ আমাদের কোডটি চলছে।
চেষ্টা করুন...পাইথন ছাড়া:অন্যথায়
অন্য একটি ক্লজ ব্যবহার করে, আপনি কোড সংজ্ঞায়িত করতে পারেন যা কোন ব্যতিক্রম উত্থাপিত না হলে চালানো হবে। এটি একটি ব্যবহারকারীকে জানাতে ব্যবহার করা যেতে পারে যে একটি প্রোগ্রাম সফলভাবে কার্যকর হয়েছে, উদাহরণস্বরূপ।
কল্পনা করুন যে আপনি একটি গেমের জন্য একটি সাইন আপ সিস্টেম তৈরি করছেন। একজন ব্যবহারকারী বেছে নেওয়া ব্যবহারকারীর নাম বা ইমেল ঠিকানা বৈধ কিনা তা পরীক্ষা করার জন্য আপনি একটি চেষ্টা...ব্যতীত...অন্যথা ব্লক অন্তর্ভুক্ত করতে পারেন। তা না হলে ব্যতীত ধারা চলবে। ব্যবহারকারীর নাম বা ইমেল ঠিকানা বৈধ হলে, অন্য ব্লকটি চলতে পারে।
এখানে একটি উদাহরণ:
try: print('Test') except: print('There is a problem.') else: print('There are no problems.')
আমাদের কোড নিম্নলিখিত প্রদান করে:
There are no problems.
আমাদের পাইথন প্রোগ্রাম কোন ব্যতিক্রমের সম্মুখীন হয় না। ফলস্বরূপ, অন্যদের মধ্যে কোড বিবৃতি কার্যকর করে। অন্য বিবৃতি বার্তাটি প্রিন্ট করে যে আমাদের কোডে কোন সমস্যা নেই৷
৷এই টিউটোরিয়াল থেকে Repl.it দেখুন:
উপসংহার
চেষ্টা করুন...ব্লক ছাড়া আপনার পাইথন কোড ডিবাগ করা সহজ করে তোলে। একটি প্রোগ্রাম একটি "ট্রাই" ব্লকে কোড চালানোর চেষ্টা করে। যদি এটি ব্যর্থ হয়, "ব্যতীত" ব্লক চলে। একটি "অবশেষে" বিবৃতিতে কোডটি "ব্যতীত" ব্লক কার্যকর করা হয়েছে কিনা তা বিবেচনা না করেই চলে৷
এই টিউটোরিয়ালে, আমরা ব্লক ব্যতীত... কিভাবে ব্যবহার করতে হয় তা ভেঙেছি। আমরা আলোচনা করেছি কিভাবে else ব্যবহার করতে হয় এবং ব্যতীত আপনার ব্যতিক্রম হ্যান্ডলিং কাস্টমাইজ করতে।
আপনি যখন বিদ্যমান কোড পরীক্ষা করছেন বা নতুন কোড লিখছেন তখন এই ব্লকগুলি কার্যকর হতে পারে। এটি নিশ্চিত করে যে আপনার প্রোগ্রাম সঠিকভাবে চলছে এবং এতে কোনো ত্রুটি নেই।
আরও পাইথন শেখার সংস্থানগুলির জন্য, পাইথন কীভাবে শিখবেন তা আমাদের বিস্তৃত নির্দেশিকা দেখুন৷