Python:
ত্রুটিগুলি পরিচালনা করা
কিভাবে:
# বেসিক try-except ব্লক
try:
# ঝুঁকিপূর্ণ কোড
number = int(input("একটি সংখ্যা লিখুন: "))
except ValueError:
# ত্রুটি সামাল দাও
print("এটি কোনো সংখ্যা নয়!")
# একাধিক ব্যতিক্রম উল্লেখ
try:
# বিভিন্ন ব্যতিক্রম উত্থাপন করতে পারে এমন কোড
result = 10 / int(input("একটি ভাগফল লিখুন: "))
except ZeroDivisionError:
print("ওপস! শূন্য দিয়ে ভাগ করা যায় না।")
except ValueError:
print("আমার একটি সংখ্যা দরকার, বন্ধু।")
# ব্যবহার করা এলস এবং ফাইনালি
try:
number = int(input("বর্গমূলের জন্য একটি সংখ্যা লিখুন: "))
except ValueError:
print("আমি একটি সংখ্যা বলেছি!")
else:
# কোনো ত্রুটি ঘটেনি
print("আপনার সংখ্যার বর্গমূল হল:", number**2)
finally:
# সবসময় এক্সিকিউট হয়
print("এটি চেষ্টা করার জন্য ধন্যবাদ!")
প্রথম ব্লকটির জন্য একটি অবৈধ সংখ্যা লেখার সময় নমুনা আউটপুট:
একটি সংখ্যা লিখুন: হ্যালো
এটি কোনো সংখ্যা নয়!
গভীরে ডুব
প্রোগ্রামিং শুরু হওয়ার থেকেই, ত্রুটি সামাল দেওয়া অত্যন্ত গুরুত্বপূর্ণ ছিল। প্রাথমিক পদ্ধতিগুলি প্রাথমিক ছিল, যেমন প্রতিটি ঝুঁকিপূর্ণ অপারেশনের আগে শর্ত পরীক্ষা করা। পাইথনের try-except
সিনট্যাক্স C++ এবং জাভার মতো পুরোনো ভাষাগুলোতে ব্যতিক্রম পরিচালনার ঐতিহ্য থেকে আসে, প্রক্রিয়াটি সহজ করে।
আপনি যখন কোডের একটি ব্লক try
করেন, পাইথন যেকোনো ব্যতিক্রমের জন্য দেখে। যদি কোনো ত্রুটি উঠে আসে, except
ব্লক তা ধরে ফেলে। আপনি যে ব্যতিক্রমগুলি ধরতে চান তাতে নির্দিষ্ট হতে পারেন অথবা একটি বেসিক except
দিয়ে সবকিছু ধরতে পারেন। তবে, নির্দিষ্টভাবে প্রথমে বেছে নেওয়া ভাল - এটি সুস্পষ্ট, সব-বিধান জাল নয়।
else
এবং finally
এই ধারণার অতিরিক্ত অংশ। else
ব্লকটি চেষ্টা করা ব্লকে কোনো ত্রুটি না ঘটলে চলে। finally
হল সেই বিশ্বস্ত বন্ধু যে যা-ই হোক চলে - ভাবুন পরিষ্কার অপারেশনগুলো সম্পর্কে।
বিকল্প? অবশ্যই রয়েছে। কিছু ভাষা ব্যতিক্রমের পরিবর্তে রিটার্ন কোড ব্যবহার করে। আপনি with
স্টেটমেন্টগুলি পরিচালনা করতে বা ডেভেলপিং এর সময় শর্তগুলি পরীক্ষা করার জন্য assertions
দেখতে পারেন। কিন্তু যখন আমরা শক্তিশালী ত্রুটি-হ্যান্ডলিং কৌশল সম্পর্কে কথা বলি, try-catch মডেল তার পাঠযোগ্যতা এবং কাঠামোর জন্য বিশেষ উল্লেখযোগ্য।
দেখুন আরও
আরও গভীরে ডুব দিতে এখানে কিছু ভাল অতিরিক্ত সম্পদ রয়েছে:
- ত্রুটি এবং ব্যতিক্রম সম্পর্কে পাইথনের অফিসিয়াল ডকুমেন্টেশন: পাইথন ডকুমেন্টস – ত্রুটি এবং ব্যতিক্রম
- বিষয়টি সম্পর্কে রিয়েল পাইথনের গাইড: রিয়েল পাইথন - The try/except/else/finally block
- ত্রুটি হ্যান্ডলিং সর্বোত্তম প্র্যাক্টিস সম্পর্কে একটি ভাবনাশীল আলোচনা: স্ট্যাক ওভারফ্লো – আমি কিভাবে ঠিকভাবে ব্যতিক্রমগুলি উপেক্ষা করব?