বাংলায় পাইথন
  • পরিচিতি
  • ইনস্টলেশন
  • ব্যাসিক কনসেপ্ট
    • সাধারণ কিছু অপারেশন
    • আরও কিছু নিউমেরিক অপারেশন
    • স্ট্রিং
    • ব্যাসিক ইনপুট আউটপুট
    • স্ট্রিং অপারেশন
    • টাইপ কনভার্সন
    • ভ্যারিয়েবল
    • ইনপ্লেস অপারেটর
    • এডিটর এর ব্যবহার
  • কন্ট্রোল স্ট্রাকচার
    • বুলিয়ান
    • if স্টেটমেন্ট
    • else স্টেটমেন্ট
    • বুলিয়ান লজিক
    • অপারেটর প্রেসিডেন্স
    • while লুপ
    • লিস্ট
    • লিস্ট অপারেশন
    • লিস্ট ফাংশন
    • রেঞ্জ
    • for লুপ
  • গুরুত্বপূর্ণ ডাটা টাইপ
    • None
    • ডিকশনারি
    • ডিকশনারি ফাংশন
    • টাপল
    • আবারও লিস্ট
    • লিস্ট ও ডিকশনারি কম্প্রিহেনশন
  • ফাংশন ও মডিউল
    • কোডের পুনব্যবহার
    • ফাংশন
    • ফাংশন আর্গুমেন্ট
    • ফাংশন রিটার্ন
    • কমেন্ট ও ডক স্ট্রিং
    • অবজেক্ট হিসেবে ফাংশন
    • মডিউল
    • স্ট্যান্ডার্ড লাইব্রেরী
    • pip
  • ফাইল ও এক্সেপশন
    • এক্সেপশন
    • এক্সেপশন হ্যান্ডেলিং
    • finally
    • এক্সেপশন Raise
    • Assertions
    • ফাইল খোলা
    • ফাইল পড়া
    • ফাইলে লেখা
    • ফাইল নিয়ে সঠিক কাজ
  • ফাংশনাল প্রোগ্রামিং
    • ভূমিকা
    • ল্যামডা
    • ম্যাপ ও ফিল্টার
    • জেনারেটর
    • ডেকোরেটর
    • রিকারসন
    • সেট
    • itertools
  • অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং
    • ক্লাস
    • ইনহেরিটেন্স
    • ম্যাজিক মেথড
    • অপারেটর অভারলোডিং
    • অবজেক্ট লাইফ সাইকেল
    • ডাটা হাইডিং
    • স্ক্লাস মেথড ও ট্যাটিক মেথড
    • প্রোপার্টিস
  • রেগুলার এক্সপ্রেশন
    • পরিচিতি
    • মেটা ক্যারেক্টার
    • ক্যারেক্টার ক্লাস
    • গ্রুপ
    • স্পেশাল সিকুয়েন্স
  • অতিরিক্ত কিছু বিষয়
    • পাইথনিকনেস
    • PEP
    • main
    • # -- coding: utf-8 --
    • #! /usr/bin/env python
    • CPython
    • ডকুমেন্টেশন পড়া
  • প্যাকেজিং
Powered by GitBook
On this page
  1. ফাইল ও এক্সেপশন

এক্সেপশন

এটি এমন একটি ইভেন্ট যা ঘটে তখনই, যখন একটি প্রোগ্রামের স্বাভাবিক এক্সিকিউশনের মধ্যে কোন বাধার উৎপত্তি হয়। অর্থাৎ যখন একটি পাইথন স্ক্রিপ্ট এমন কোন একটি সমস্যাপূর্ণ অবস্থার সম্মুখীন হয় যা সে এড়িয়ে যেতে পারে না অথবা সমাধান করতে পারে না অতঃপর প্রোগ্রামের এক্সিকিউশন বন্ধ হয়ে যায় - সেরকম ঘটনাকে এক্সেপশন বলা হয়। এক্সেপশন এর আভিধানিক অর্থ থেকেও বোঝা যায় যে ব্যতিক্রম কোন অবস্থার উৎপত্তি।

সাধারণত ভুল কোড বা ইনপুটের জন্য প্রোগ্রামের মধ্যে এক্সেপশন তৈরি হয় যা সঠিকভাবে হ্যান্ডেল না করলে প্রোগ্রাম অনাকাঙ্ক্ষিত ভাবে বন্ধ হয়ে যেতে পারে। একটি উদাহরণ দিয়ে আমারা বোঝার চেষ্টা করি -

a = 2500
b = 0

print(a/b)
print("I did it")

আউটপুট,

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero

উপরের প্রোগ্রামে, গণিতের নিয়ম অনুযায়ী a কে b দিয়ে ভাগ করা সম্ভব না আর তাই যখনই print(a/b) স্টেটমেন্টটি এক্সিকিউট হতে চেয়েছে তখনি এক ধরণের ব্যতিক্রম অবস্থার উৎপত্তি হয়েছে যাকে এক্সেপশন বলা হচ্ছে। আর তাই পাইথন ওই প্রোগ্রামের পরবর্তী স্টেটমেন্ট গুলো এক্সিকিউট না করে বরং প্রোগ্রাম এক্সিকিউশন বন্ধ করে দিয়েছে। কিন্তু দেখা যাচ্ছে কোডের লেখায় বা নিয়মে কিন্তু কোন ভুল নাই। শুধুমাত্র রান টাইমেই এই পরিস্থিতি তৈরি হয়েছে। তাই এরকম অবস্থায় পাইথন এক্সেপশন তৈরি করে।

প্রোগ্রামের মধ্যে বিভিন্ন কারনে বিভিন্ন রকম exception তৈরি হয়। কিছু কিছু নির্দিষ্ট কারণের জন্য ঘটা অনাকাঙ্ক্ষিত অবস্থা গুলোর সাপেক্ষে পাইথনে অনেক এক্সেপশন আছে। নিচে কয়েকটি উল্লেখ করা হলঃ

এক্সেপশনের নাম

বর্ণনা

Exception

সব রকম এক্সেপশনের বেজ ক্লাস

StopIteration

যখন একটি ইটারেটরের next() মেথডটি কোন অবজেক্টকে পয়েন্ট করে না

ArithmeticError

নিউমেরিক ক্যালকুলেশনের জন্য তৈরি হয় এমন এক্সেপশনের বেজ ক্লাস

OverflowError

যখন একটি নিউমেরিক টাইপের ম্যাক্সিমাম লিমিট অতিক্রম করে

ZeroDivisonError

যখন শূন্য দিয়ে ভাগের ঘটনা ঘটে

ImportError

যখন import স্টেটমেন্ট ফেইল করে অর্থাৎ কোন কারনে import সম্পন্ন হয় না

IndexError

KeyError

যখন একটি সিকোয়েন্স টাইপ অবজেক্টে চাহিদা মোতাবেক ইনডেক্স পাওয়া যায় না

NameError

যখন নির্দিষ্ট নামের কোন আইডেন্টিফায়ারকে লোকাল বা গ্লোবাল স্কোপে খুঁজে পাওয়া যায় না

IOError

যখন ইনপুট বা আউটপুট সম্পর্কিত কোন অপারেশন সফল হয় না যেমন ফাইল থেকে পড়ার জন্য ওপেন ফাংশন কাজ করতে না পারলে

SyntaxError

IndentationError

পাইথন প্রোগ্রাম লেখার সময় ভুল কোন কি-ওয়ার্ড বা স্টেটমেন্ট থাকলে

RuntimeError

যখন কোন একটি এক্সেপশন ঘটে যা পাইথনের নির্দিষ্ট কোন ক্যাটাগরির এক্সেপশনের মধ্যেই পরে না

Previousফাইল ও এক্সেপশনNextএক্সেপশন হ্যান্ডেলিং

Last updated 6 years ago