Java/C3/Exception-Handling/Bengali
From Script | Spoken-Tutorial
Revision as of 18:06, 19 November 2017 by Satarupadutta (Talk | contribs)
|
|
00:01 | Exception Handling এর টিউটোরিয়ালে আপনাদের স্বাগত। |
00:06 | এখানে আমরা শিখব: exception কি এবং exceptions চেক এবং আনচেক করা, try-catch block এবং finally block ব্লক দ্বারা exceptions নিয়ন্ত্রণ করা। |
00:20 | এখানে আমরা ব্যবহার করছি: Ubuntu Linux 16.04 OS JDK 1 .8 এবং Eclipse 4.3.1. |
00:32 | টিউটোরিয়ালটি অনুসরণ করতে Java এবং Eclipse IDE এর মৌলিক জ্ঞান থাকতে হবে। |
00:39 | না হলে, প্রাসঙ্গিক Java টিউটোরিয়ালগুলির জন্য, আমাদের ওয়েবসাইটে যান। |
00:45 | exception একটি অপ্রত্যাশিত ঘটনা, যা প্রোগ্রাম নিষ্পাদনের সময় ঘটে। |
00:52 | এটি প্রোগ্রামের স্বাভাবিক ফ্লো ব্যাহত করে এবং ফলাফল ভুল হয়। |
01:00 | তাদের ঘটনার ভিত্তিতে, exceptions কে unchecked exceptions এবং checked exceptions হিসেবে বর্গীকৃত করা হয়েছে। |
01:08 | এখন eclipse খুলব এবং ExceptionDemo নামে নতুন প্রজেক্ট বানাবো। |
01:16 | এই প্রজেক্টে exception handling প্রদর্শন করতে প্রয়োজনীয় ক্লাস বানাবো। |
01:24 | এখন নতুন ক্লাস Marks বানাবো। |
01:28 | Marks ক্লাস প্রদর্শন করতে নিম্ন কোড লিখুন। |
01:34 | এই প্রোগ্রামটি 5 জন শিক্ষার্থীর মার্ক্স প্রিন্ট করে যা অ্যারে marks এ সংরক্ষিত। |
01:41 | এই প্রোগ্রামটি রান করি এবং আউটপুট যাচাই করি। |
01:45 | আমরা দেখি যে অ্যারেতে ভ্যালু প্রিন্ট হচ্ছে। |
01:50 | দেখি কি হবে যদি আমরা একটি অ্যারে এলিমেন্ট অ্যাক্সেস করার চেষ্টা করি যা বিদ্যমান নয়। |
01:57 | এখন নিম্ন কোড লিখুন। |
02:00 | আমরা জানি যে অ্যারেতে শুধুমাত্র 5 টি এলিমেন্ট রয়েছে। |
02:04 | কিন্তু এই স্টেটমেন্টে index 50 তে এলিমেন্ট অ্যাক্সেস করার চেষ্টা করছি যা বিদ্যমান নয়। |
02:12 | এখন এই প্রোগ্রাম রান করি। |
02:15 | আমরা দেখি যে প্রোগ্রামটি লাইন সংখ্যা 7 এ এরর ম্যাসেজ ArrayIndexOutOfBoundsException সহ টার্মিনেট হয়। |
02:25 | এরর ম্যাসেজ exception এর বর্ণন দেখায় যেমন exception এর ধরণ, এটি কোথায় ঘটেছে এবং অন্য বিবরণ। |
02:35 | উল্লেখ্য যে print statement নিষ্পাদিত হয় না কারণ প্রোগ্রাম এররের পর টার্মিনেট হয়েছে। |
02:42 | এটি Unchecked exception এর একটি উদাহরণ। |
02:46 | Unchecked exceptions কে Runtime exception বলে কারণ এটি শুধুমাত্র নিষ্পাদনের সময় চেক হয়। |
02:54 | এটি প্রোগ্রামিং বাগ এবং লজিক্যাল এরর পরিচালনা করে যেমন শূন্য দ্বারা সংখ্যা ভাগ করা এবং অ্যারে এলিমেন্ট অ্যাক্সেস করা যা বিদ্যমান নয়। |
03:07 | এখন শিখি যে try catch block দ্বারা exception কিভাবে নিয়ন্ত্রণ করে। |
03:13 | try block এ কোডের এই অংশ exception কে রেজ করতে পারে। |
03:19 | সংশ্লিষ্ট catch block অবজেক্ট e তে exception এর বিবরণ পেতে পারে। |
03:26 | catch block এ এররের ম্যাসেজ প্রদর্শন করা বা এরর থেকে বাঁচার কোড লিখতে পারি। |
03:34 | এখন eclipse এ যান। |
03:37 | প্রথমে কোডে try block জুড়ুন যা এই ধরণের try block এর কারণ। |
03:44 | এখন অনুরূপ catch block জুড়তে হবে। |
03:48 | নিম্ন কোড লিখুন। |
03:51 | এখানে কাস্টম মেসেজ Array Overflow Exception occurred প্রিন্ট করছি। |
03:57 | প্রথম বন্ধনীতে ArrayIndexOutOfBoundsException এর উদাহরণ বানিয়েছি। |
04:05 | সুতরাং এই ব্লক ArrayIndexOutOfBoundsException এর exceptions, catch করতে পারে। |
04:11 | এখন প্রোগ্রাম রান করি। |
04:14 | আমরা দেখি যে এরর ম্যাসেজ প্রিন্ট হয়। |
04:18 | কিন্তু এই সময়, প্রিন্টিং এ ধ্যান দিন marks array ও নিষ্পাদিত হয়। |
04:24 | এইভাবে আমরা exceptions পরিচালনা করতে পারি। |
04:27 | এরপর দেখি যে একাধিক catch blocks কিভাবে ব্যবহার করে। |
04:32 | আমরা তাদের ব্যবহার করতে পারি যখন ব্লক দ্বারা বিভিন্ন ধরনের exceptions রেজ হয়। |
04:38 | try block এ নিম্ন কোড লিখুন। |
04:42 | কোডের এই লাইন array element কে শূন্য দ্বারা বিভাজিত করে কারণ a এর ভ্যালু হল 0. |
04:49 | প্রথমে একটি ArithmeticException রেজ হয়। |
04:53 | ArithmeticException নিয়ন্ত্রণ করতে আরেকটি catch block জুড়ুন। |
04:58 | বিদ্যমান catch block এর পর নিম্ন কোড লিখুন। |
05:03 | আবার প্রোগ্রাম রান করি। |
05:06 | Arithmetic Exception occurred এরর ম্যাসেজ প্রিন্ট হয় কারণ এটি আগে ধরা পড়েছে। |
05:13 | কোডের বাকি অংশ try catch block এর বাইরে নিষ্পাদিত হয়। |
05:19 | এখন checked exception সম্পর্কে শিখি। |
05:23 | Checked exceptions, compile time এ চেক হয়। |
05:27 | তাই সেটি প্রোগ্রাম রান করার পূর্বে পরিচালনা করা উচিত। |
05:31 | উদাহরণস্বরূপ: ফাইল অ্যাক্সেস করা যা বর্তমানে বিদ্যমান নয় বা নেটওয়ার্ক সিস্টেম অ্যাক্সেস করা যখন নেটওয়ার্ক ডাউন হয়। |
05:41 | এখন Eclipse এ যান এবং নতুন ক্লাস MarksFile বানান। |
05:47 | main method যোগ করুন। |
05:50 | এখন কম্পিউটারে স্থিত একটি ফাইল পড়তে চাই। |
05:54 | নিম্ন কোড লিখুন। |
05:57 | এখানে FileReader অবজেক্ট fr null হিসাবে ইনিসিয়েলাইজ হয়। |
06:03 | FileReader অবজেক্টের ব্যবহার নির্দিষ্ট ফাইল অ্যাক্সেস এবং পড়তে করা যেতে পারে। |
06:08 | Eclipse একটি এরর দেখাবে। |
06:11 | এরর সংশোধন করতে, এতে ক্লিক করুন এবং import FileReader java dot io তে ডাবল ক্লিক করুন। |
06:19 | FileReader class কে java dot io package থেকে ইম্পোর্ট করা হয়েছে। |
06:25 | আমরা package এবং এর ব্যবহার সম্পর্কে পরের টিউটোরিয়ালে শিখব। |
06:31 | Marks নামক ফাইল অ্যাক্সেস করতে fr এর অনুমতীর জন্য নিম্ন কোড লিখুন, যা হোম ফোল্ডারে স্থিত। |
06:40 | এখানে দেখানো পাথ সিস্টেমের হোম ফোল্ডারের সাথে বদলান। |
06:46 | একটি এরর দেখায়। এটি দেখায় যে কোডের এই লাইন FileNotFoundException বানাতে পারে। |
06:55 | এররে ক্লিক করুন এবং Surround with try/catch এ ডাবল ক্লিক করুন। |
07:00 | আমরা দেখি যে এই এরর সংশোধন করতে Eclipse নিজেই try catch block সন্নিবেশ করে। |
07:08 | আমরা বুঝতে পারি যে এটি checked exception. |
07:12 | এখন finally block এর ব্যবহার করা দেখি। |
07:16 | নিম্ন কোড লিখুন। |
07:18 | finally block সাধারণত try-catch block অনুসরণ করে। |
07:22 | এই ব্লকের কোড নিষ্পাদিত হয়, exception হোক বা না হোক। এতে print statement রয়েছে। |
07:32 | এখন finally block এ ফাইল রেফারেন্স বন্ধ করুন। |
07:37 | লিখুন fr dot close |
07:40 | এখন Eclipse দেখায় যে এটি একটি IOException রেজ করবে। |
07:45 | এররে ক্লিক করুন এবং Surround with try/catch এ ডাবল ক্লিক করুন। |
07:51 | এখন প্রোগ্রাম রান করি। |
07:54 | আমরা দেখি যে FileNotFoundException ম্যাসেজ প্রিন্ট হয়। |
07:59 | কারণ হোম ফোল্ডারে Marks নামে কোন ফাইল নেই। |
08:04 | আমরা NullPointerException ও দেখতে পারি কারণ fr এর ভ্যালু এখনও নাল। |
08:12 | কিন্তু আমরা দেখি যে finally block এ print statement নিষ্পাদিত হয়। |
08:18 | হোম ফোল্ডারে Marks টেক্সট ফাইল বানান। |
08:23 | আপনি উইন্ডোজ ইউসার হলে, লোকাল ড্রাইভে টেক্সট ফাইল বানান এবং পাথ উল্লেখ করুন। |
08:29 | উদাহরণস্বরূপ এটি D:\\Marks.txt হিসাবে নির্দিষ্ট হতে পারে। |
08:37 | এখন আবার প্রোগ্রাম রান করি। |
08:40 | আমরা যাচাই করতে পারি Marks ফাইল তৈরীর পর সেখানে exceptions নেই। |
08:46 | Inside finally block প্রিন্ট হয়। |
08:50 | cleanup operation অর্থাৎ FileReader অবজেক্ট fr বন্ধ করা, এটিও সফলভাবে নিষ্পাদিত হয়। |
08:58 | এর সাথেই এই টিউটোরিয়ালের শেষে এসেছি। |
09:02 | সংক্ষেপে: |
09:04 | এখানে শিখেছি: Exception কি এবং Checked এবং Unchecked Exceptions, try-catch block এবং finally block দ্বারা Exceptions নিষ্পাদিত করা। |
09:17 | অনুশীলনী হিসাবে, NullPointerException নামে আরেকটি Runtime Exception সম্পর্কে শিখুন। |
09:24 | এই টিউটোরিয়ালের Assignment লিঙ্কে দেওয়া Demo.java নামক জাভা প্রোগ্রাম দেখুন। |
09:31 | একটি exception রেজ হবে যখন এই কোডটি রান করবেন। |
09:35 | কোডটি সনাক্ত করুন যা exception এর জন্য দায়ী। |
09:40 | try-catch block দ্বারা এটি সঠিক করুন। |
09:43 | নিম্ন লিঙ্কে উপলব্ধ ভিডিওটি প্রকল্পকে সারসংক্ষেপে বোঝায়। এটি দেখুন। |
09:52 | স্পোকেন টিউটোরিয়াল প্রকল্প দল কর্মশালার আয়োজন করে এবং অনলাইন পরীক্ষা পাস করলে প্রশংসাপত্র দেওয়া হয়। অধিক জানতে আমাদের লিখুন। |
10:04 | স্পোকেন টিউটোরিয়াল প্রকল্প ভারত সরকারের NMEICT, MHRD দ্বারা সমর্থিত। এই বিষয়ে বিস্তারিত তথ্য এই লিঙ্কে প্রাপ্তিসাধ্য। |
10:15 | আই আই টী বোম্বে থেকে আমি বিদায় নিচ্ছি। |
10:23 | অংশগ্রহনের জন্যে ধন্যবাদ। |