কম্পিউটার

পাইথনে ব্যতিক্রম কি?


একটি ব্যতিক্রম হল একটি ইভেন্ট, যা একটি প্রোগ্রাম কার্যকর করার সময় ঘটে যা প্রোগ্রামের নির্দেশাবলীর স্বাভাবিক প্রবাহকে ব্যাহত করে। সাধারণভাবে, যখন একটি পাইথন স্ক্রিপ্ট এমন একটি পরিস্থিতির সম্মুখীন হয় যা এটি মোকাবেলা করতে পারে না, এটি একটি ব্যতিক্রম উত্থাপন করে। একটি ব্যতিক্রম হল একটি পাইথন অবজেক্ট যা একটি ত্রুটি উপস্থাপন করে৷

যখন একটি পাইথন স্ক্রিপ্ট একটি ব্যতিক্রম উত্থাপন করে, এটিকে হয় অবিলম্বে ব্যতিক্রমটি পরিচালনা করতে হবে অন্যথায় এটি বন্ধ হয়ে যাবে এবং প্রস্থান করবে৷

একটি ব্যতিক্রম পরিচালনা করা

আপনার যদি কিছু সন্দেহজনক কোড থাকে যা একটি ব্যতিক্রম ঘটাতে পারে, তাহলে আপনি একটি চেষ্টা এ সন্দেহজনক কোড রেখে আপনার প্রোগ্রামকে রক্ষা করতে পারেন :ব্লক। চেষ্টা করার পরে:ব্লক করুন, একটি ব্যতীত অন্তর্ভুক্ত করুন :বিবৃতি, কোডের একটি ব্লক অনুসরণ করে যা সমস্যাটিকে যতটা সম্ভব সুন্দরভাবে পরিচালনা করে।

সিনট্যাক্স

এখানে চেষ্টা করার সহজ সিনট্যাক্স...অন্যথায় ব্লক −

ছাড়া
চেষ্টা করুন:আপনি এখানে আপনার অপারেশন করেন; ...................... ExceptionI:যদি ExceptionI থাকে, তাহলে এই ব্লকটি চালান। ExceptionII ছাড়া:যদি ExceptionII থাকে, তাহলে এই ব্লকটি কার্যকর করুন। ........................অন্য:যদি কোন ব্যতিক্রম না হয় তবে এই ব্লকটি কার্যকর করুন।

উপরে উল্লিখিত সিনট্যাক্স -

সম্পর্কে এখানে কয়েকটি গুরুত্বপূর্ণ পয়েন্ট রয়েছে
  • একটি একক চেষ্টা বিবৃতিতে বিবৃতি ছাড়া একাধিক থাকতে পারে। এটি উপযোগী যখন ট্রাই ব্লকে এমন বিবৃতি থাকে যা বিভিন্ন ধরনের ব্যতিক্রম নিক্ষেপ করতে পারে।
  • আপনি ক্লজ ব্যতীত একটি জেনেরিকও প্রদান করতে পারেন, যা যেকোনো ব্যতিক্রম পরিচালনা করে।
  • ধারা(গুলি) ব্যতীত, আপনি একটি অন্য-ধারা অন্তর্ভুক্ত করতে পারেন। অন্য-ব্লক-এর কোডটি কার্যকর হয় যদি ট্রাই:ব্লকের কোডটি ব্যতিক্রম না করে।
  • অন্য-ব্লক কোডের জন্য একটি ভাল জায়গা যা চেষ্টা করার প্রয়োজন নেই:ব্লকের সুরক্ষা৷

উদাহরণ

এই উদাহরণটি একটি ফাইল খোলে, ফাইলে বিষয়বস্তু লেখে এবং সুন্দরভাবে বেরিয়ে আসে কারণ এতে কোনো সমস্যা নেই −

#!/usr/bin/pythontry:fh =open("testfile", "w") fh.write("এটি ব্যতিক্রম পরিচালনার জন্য আমার পরীক্ষার ফাইল!!") IOError:print "Error:can\ ফাইল খুঁজে পাবেন না বা ডেটা পড়ুন না" অন্যথায়:"ফাইলটিতে লিখিত বিষয়বস্তু সফলভাবে" মুদ্রণ করুন 

আউটপুট

এটি নিম্নলিখিত ফলাফল তৈরি করে -

সফলভাবে ফাইলে লিখিত বিষয়বস্তু

উদাহরণ

এই উদাহরণটি এমন একটি ফাইল খোলার চেষ্টা করে যেখানে আপনার লেখার অনুমতি নেই, তাই এটি একটি ব্যতিক্রম উত্থাপন করে −

#!/usr/bin/pythontry:fh =open("testfile", "r") fh.write("এটি ব্যতিক্রম পরিচালনার জন্য আমার পরীক্ষার ফাইল!!") IOError:print "Error:can\ ফাইল খুঁজে বা ডেটা পড়ুন না" অন্যথায়:"ফাইলটিতে লিখিত বিষয়বস্তু সফলভাবে মুদ্রণ করুন"

আউটপুট

এটি নিম্নলিখিত ফলাফল তৈরি করে -

ত্রুটি:ফাইল খুঁজে পাওয়া যায় না বা ডেটা পড়তে পারে না

কোন ব্যতিক্রম ছাড়া ধারা ছাড়া

আপনি নিম্নলিখিত হিসাবে সংজ্ঞায়িত কোন ব্যতিক্রম ছাড়া ছাড়া বিবৃতি ব্যবহার করতে পারেন −

চেষ্টা করুন:আপনি এখানে আপনার অপারেশন করেন; ...................... ছাড়া:যদি কোন ব্যতিক্রম থাকে, তাহলে এই ব্লকটি কার্যকর করুন। ........................অন্য:যদি কোন ব্যতিক্রম না হয় তবে এই ব্লকটি কার্যকর করুন।

এই ধরনের একটি চেষ্টা-ব্যতীত বিবৃতি ঘটতে সব ব্যতিক্রম ক্যাচ. এই ধরনের চেষ্টা-ব্যতীত বিবৃতি ব্যবহার করা একটি ভাল প্রোগ্রামিং অনুশীলন হিসাবে বিবেচিত হয় না, কারণ এটি সমস্ত ব্যতিক্রমগুলি ধরে রাখে কিন্তু প্রোগ্রামারকে যে সমস্যাটি ঘটতে পারে তার মূল কারণ সনাক্ত করতে পারে না৷

একাধিক ব্যতিক্রম সহ ধারা ছাড়া

আপনি নিম্নলিখিত হিসাবে একাধিক ব্যতিক্রম পরিচালনা করতে বিবৃতি ছাড়া একই ব্যবহার করতে পারেন -

চেষ্টা করুন:আপনি এখানে আপনার অপারেশন করেন; .................ব্যতীত(ব্যতিক্রম1[, ব্যতিক্রম2[,...ব্যতিক্রমN]]]):প্রদত্ত ব্যতিক্রম তালিকা থেকে যদি কোনো ব্যতিক্রম থাকে, তারপর এই ব্লক চালান. ........................অন্য:যদি কোন ব্যতিক্রম না হয় তবে এই ব্লকটি কার্যকর করুন।

চেষ্টা-অবশেষে ক্লজ

আপনি একটি অবশেষে ব্যবহার করতে পারেন৷ :একটি চেষ্টা সহ ব্লক করুন :ব্লক। পরিশেষে ব্লক হল এমন একটি জায়গা যেখানে যেকোন কোডটি কার্যকর করতে হবে, চেষ্টা-ব্লক একটি ব্যতিক্রম উত্থাপন করুক বা না করুক। ট্রাই-ফাইনালি স্টেটমেন্টের সিনট্যাক্স হল এই −

চেষ্টা করুন:আপনি এখানে আপনার অপারেশন করেন; ...................... যেকোনো ব্যতিক্রমের কারণে, এটি এড়িয়ে যেতে পারে। অবশেষে:এটি সর্বদা কার্যকর করা হবে। ...................... 

আপনি একটি চূড়ান্ত ধারার সাথে অন্য ধারাটিও ব্যবহার করতে পারবেন না।

উদাহরণ

#!/usr/bin/pythontry:fh =open("testfile", "w") fh.write("এটি ব্যতিক্রম পরিচালনার জন্য আমার পরীক্ষার ফাইল!!") অবশেষে:প্রিন্ট "ত্রুটি:can\' ফাইল খুঁজে না বা ডেটা পড়ুন"

আউটপুট

আপনার যদি লেখার মোডে ফাইলটি খোলার অনুমতি না থাকে, তাহলে এটি নিম্নলিখিত ফলাফল তৈরি করবে -

ত্রুটি:ফাইল খুঁজে পাওয়া যায় না বা ডেটা পড়তে পারে না

একই উদাহরণ আরও পরিষ্কারভাবে নিম্নরূপ লেখা যেতে পারে −

উদাহরণ

#!/usr/bin/pythontry:fh =open("testfile", "w") try:fh.write("এটি ব্যতিক্রম পরিচালনার জন্য আমার পরীক্ষার ফাইল!!") অবশেষে:প্রিন্ট "ক্লোজ করতে যাচ্ছি ফাইলটি" fh.close() IOError ছাড়া:প্রিন্ট করুন "ত্রুটি:ফাইল খুঁজে পাওয়া যায় না বা ডেটা পড়তে পারে না"

চেষ্টা ব্লকে একটি ব্যতিক্রম নিক্ষেপ করা হলে, মৃত্যুদন্ড অবিলম্বে চূড়ান্ত ব্লকে চলে যায়। অবশেষে ব্লকের সমস্ত বিবৃতি কার্যকর হওয়ার পরে, ব্যতিক্রমটি আবার উত্থাপিত হয় এবং ট্রাই-ব্যতীত স্টেটমেন্টের পরবর্তী উচ্চ স্তরে উপস্থিত থাকলে ব্যতিক্রম বিবৃতিতে পরিচালনা করা হয়।


  1. পাইথনে সন্নিবেশ বাছাই কি?

  2. পাইথনের সিস মডিউল কি?

  3. পাইথনের ওএস মডিউল কি?

  4. পাইথনে CGI কি?