Java

এক্সচেপশন হ্যান্ডেলিং এর ব্যাসিক

এক্সচেপশন

জাভা এক্সচেপশন হচ্ছে একটি অবজেক্ট।

জাভা এক্সচেপশন হচ্ছে একটি প্রবলেম বা এরর যেটি কোড রান হওয়ার সময় ধরা পরে। এটি কোডের সাধারণ নিয়মে রান হওয়াতে বাধা দেয়।

এক্সচেপশন বিভিন্ন কারণে হতে পারে,

১) ইউজার যদি ইনভেলিড ইনপুট দেয় বা কোডের মাঝে কোন নিষিদ্ধ কাজ করা হয়। যেমন, কোন সংখ্যাকে শুন্য দিয়ে ভাগ করা

২) কোডের সাহায্যে কোন ফাইল ওপেন করার চেষ্টা করা হচ্ছে কিন্তু যেটি অনুপস্থিত।

৩) যোগাযোগের সময় নেটওয়ার্ক ডিসকানেক্টেড হওয়া বা JVM যদি তার মেমোরির অতিরিক্ত হয়।

এক্সচেপশন হেন্ডেলিং-

কিছু এক্সচেপশন রান-টাইমেই ধরা পরে আর কিছু এক্সচেপশন ইউজার কোডের মাধ্যমেই ধরতে পারে।

আমরা কেন এক্সচেপশনকে হেন্ডেলিং করবো?

একটি এক্সচেপশন এর জন্য পুরো কোড রান হওয়া বন্ধ হবে এটা কখনোই কাম্য নয়। পুরো কোড বন্ধ না হওয়ার জন্যেই তা করা হয় এবং এর দ্বারা আমরা এক্সচেপশনকে হেন্ডেল করে তার জন্যে নিউ কিছু সেট করে দিতে পারি কোডের মাধ্যমে।

একটি নরমাল উদাহরণঃ

exceptions1

যখন এই কোডটি রান হবে জাভা রানটাইম সিস্টেম এই এক্সচেপশনকে তার বিল্ট ইন এক্সচেপশন ক্লাসের সাহায্যে কেচ করে থ্রো করবে। এখানে দুই কে শুন্য দ্বারা ভাগ করা হচ্ছে যা গ্রহণযোগ্য নয়।

এটিকে আমরা কোডের মাধ্যমে catch করে হেন্ডেল করতে পারি।

exceptions2

পূর্বের কোডকেই এখানে আমরা কোডের মাধ্যমে হেন্ডেল করেছি try and catch keyword দ্বারা।

try বাউন্ডারিতে আমরা আমাদের প্রয়োজনীয় কোড করবো এবং এতে এক্সচেপশন আছে কিনা তা চেক করার জন্যে catch ব্যাবহৃত হয় একটি শর্তের মাধ্যমে।

এই catch এর মাঝে আমরা যে কোন এক্সচেপশনকে কে হ্যান্ডেল করতে পারি।

catch এর শর্তের মধ্যে আমরা Exception e ব্যবহার করেছি। এখানের Exception একটি ক্লাস বিল্টইন যা জাভার সকল Exception চিহ্নিত করতে পারে। এবং এখানে e হচ্ছে Exception ক্লাসের অবজেক্ট।

try এর মাঝে exception পাওয়ার সাথে সাথে catch স্টেইটমেন্টে চলে যায় তাই এখানে try এর System.out.println এটি কাজ করেনি।

এই উদাহরণে এক্সচেপশন ছিল তাই এখানে catch কাজ করেছে। যদি এখানে কোন এরর না থাকে তখন catch এর কোন ভূমিকা থাকেনা। নিচের উদাহরণ দেখেই আমরা তা বুঝতে পারবোঃ

exceptions3

এখানে আমরা ১ দ্বারা ভাগ করেছি তাই এখানে কোন এক্সচেপশন ঘটেনি তাই এখানে try এর ভিতরকার সকল স্টেইটমেন্ট কাজ করেছে মানে try এর কোড চলার ফলেই আমরা এখানে try এর ভিতরকার আউটপুট পেয়েছি।

আশিক

সি এস ই

আই আই ইউ সি

Leave a Reply

Your email address will not be published.

3 + seventeen =