Skip to main content

এক্সেপশন ফ্যামিলি Introduction (post-3)



<-Previous Topic

পোষ্ট -১ থেকে পড়লে বেশি ভাল বুঝবেন।

একটা কথা মাথায় রাখবেন এক্সেপশন কখন  Occur  হয়?  সব সময় রান টাইমে Occur হয়, তাহলে চেকড , আনচেকড এগুলা কি পড়লাম?
এগুলা কম্পাইলার এর Power পড়লাম, ভুল থাকলে তো প্রোগ্রাম রান ই করবে না, কিন্তু কম্পাইলার ই নিজে কিছু কিছু ভুল ধরে ফেলতে পারে, এর মানে এই না যে এক্সেপশন হইসে, কম্পাইলার শুধু আপনাকে  Warning  দিতে পারবে, 

যে এই এক্সেপশনটা হইতে পারে, ঠিক করো, আপনার কোড থামিয়ে দিবে না, Run Anyway করতে পারবেন। অকে>?


আপনার মা আপনাকে বলছে ছাতা নিয়ে যাও বৃষ্টি হতে পারে
এর মানে এই না যে বৃষ্টি শুরু হয়ে গেছে, মা এইখানে কম্পাইলারের মতো কাজ করে। আপনি যাওয়া শুরু করবেন তখন ই এই বাধাটা আসা সম্ভব (ধরে নেন, ঝামেলা কইরেন না) অর্থাৎ রানটাইমে।


ভার্সিটির আইডি কার্ড নিয়ে যেতে বলা আম্মু কম্পাইলার।
আর আইডি কার্ড বাসায় রেখে এসে IdCardNotFoundException  এর ছ্যাকা খেয়ে যাওয়া আপনি  :D   :D  


এক্সেপশনের চাইল্ড ক্লাস অনেকগুলা, ইম্পরট্যান্ট কিছু দেখব এখন…
আপনারা আগেউ এগুলা দেখেছেন কিন্তু তখন জানতেন না এগুলা আপনাকেই কন্ট্রোল করা লাগবে


ArithmeticException:    যোগ-বিয়োগ, গুন, ভাগ রিলেটেড যেকোনো
ধরনের ভুল করলে এই এক্সেপশনটা দেখাবে বা থ্রো করবে। দেখতে ইচ্ছে করলে নেটবিনসে যেয়ে   System.out.println(5/0);  এই লাইন রান করে দেখেন। এই এক্সেপশন কম্পাইলার ধরতে পারবে না, তাই এটা রানটাইম এক্সেপশন। কথা কি ক্লিয়ার না ভেজাল আছে?

ArrayIndexOutOfBoundsException: নাম দেখেই তো বুঝতেসেন, অ্যারের 
ইনডেক্স নিয়ে ঝামেলা হইলে এটা থ্রো করবে। যেমনঃ 
int [] n=new int [4];
অ্যারের সাইজ ডিক্লেয়ার করলেন 4,  কিন্তু প্রিন্ট করার try  করছেন

System.out.println(n[23]);

এমন কাজ করলে ArrayIndexOutOfBoundsException থ্রো করবে।
নাম গুলা মুখস্ত করে ফেলেন, লাগবে।


IOException:  (চেকড এক্সেপশন) ইনপুট-আউটপুট অপারেশনে কোনো এরর হলে এই এক্সেপশনটি থ্রো হয়, এর অনেক সাব ক্লাস আছে। জাভাতে ইনপুট-

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

হলোঃ  EOFException,  FileNotFoundException, InterruptedIOException ইত্যাদি।

IOException has sub classes such as FileNotFoundException, EOFException, UnsupportedEncodingException, SocketException, and SSLException. If the file is not found, FileNotFoundException is thrown. While reading a file, EOFException occurs when end of the file is reached. If the file has an unsupported encoding, UnsupportedEncodingException occurs. When the socket connection is closed, SocketException can happen. SSLException happens when the ssl connection is not established. (copied from javacodegeeks.com)



SQLException:  ডেটাবেইস এক্সেস করার সময় কোনো ধরনের এরর হলে
এই এক্সেপশন থ্রো করা হয়।


NullPointerException:  ধরেন ক্লাসের মধ্যে কোনো স্টুডেন্ট নেই আপনি
কাউকে দেখিয়ে বলছেন বলতো ক্লাসে কতজন স্টুডেন্ট  আছে ? এই ধরনের বেয়াদবি করা কি ঠিক ? জাভা এগুলা সহ্য করবে না। এইরকম কোনো কিছুর 

ভ্যালু যখন Null  থাকে আর যদি আপনি ঐটা ধরে ঐ রিলেটেড কোনো অবজেক্ট অথবা মেথড কল করেন তখন এই রকম এরর আসবে।

public static void main(String [] args){
                   String s=null;
                   System.out.println(s.length);    // ডট length এইটা স্ট্রিং ক্লাসের 

একটা মেথড, কিন্তু একে নাল ভ্যালু ওয়ালা কিছু দিয়ে কল দিয়েছেন তাই এমন NullPointerException দেখাবে ।

System.out.println(s.chatAt(0));       // যা ই কল করেন নাল পয়েন্টার 

এক্সেপশন দেখাবে। কারণ যাকে নিয়ে কল করছেন সে নিজেই নাল


ClassNotFoundException: JVM (Java Virtual Machine)  ক্লাস লোড করার
 সময় কোনো ক্লাস খুজে না পেলে এই এক্সেপশন থ্রো করে।

যেমনঃ   Class loadClass= Class.forName(F:\abc.class);
forName(location of a class) forName() মেথড দিয়ে কোনো ক্লাস কল করার চেষ্টা করছেন কিন্তু ঐ ক্লাস যদি না পাওয়া যায় তখন ClassNotFoundException এক্সেপশন থ্রো করবে।

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





<-Previous Topic                                                                                    Next Topic->






Move to:
Post 7              Post 8
Post 6              Post 9
Post 5 
Post 4
Post 3 
Post 2 
Post 1

Comments

Popular posts from this blog

IELTS Spoken Class Adminssion Scenario - 01

.......  Student: Hello, May I come in, sir ? Optional (student): May I sit ? Sir:  Please have a seat. Sir: How may I help you, Sir ? Student: I would like to admit in your spoken course. Sir: Oh sure. Student: How many days are there in a week ? Sir: There are three classes in a week. Student: What time do you offer class ? Sir: We have class at 11am / 4pm / 6pm / 8pm

Php Learning Time

 Differences of explode( ) and implode( ) in php: explode: একটা স্ট্রিংকে কোনো একটা সেপারেটরের বেসিসে অ্যারেতে কনভার্ট করে, যেমন  <?php $text="Hello How are you?"; print_r(explode(" ",$text)); ?> This will give output of  Array (     [0] => Hello     [1] => How     [2] => are     [3] => you? ) Differences of array_splice( ) and array_slice( ) ধরেন আসল অ্যারে হচ্ছে    $arr =[ "Hello" , "this" , "is" , "test" , "text" ];    এখন এটাকে স্লাইসিং করার জন্য আমরা উপরের দুইটা মেথড ই ব্যবহার করতে পারি , কিন্তু array_splice এটা ইউজ করলে অরজিনাল array ও চেঞ্জ হয়ে যাবে, মানে যদি আমরা এভাবে লিখি  $var2 = array_splice ( $arr , 0 , 2 );   তাইলে $var2 এর ভিতরে থাকবে ["Hello" , "this"] ,  আর অরজিনাল array তে বাকি থাকবে ["is", "test", "text"] কিন্তু যদি আমরা ইউজ করি তাহলে অরজিনাল array আগের মতোই থাকবে পাশাপাশি $var2 এর মধ্যে ভ্যালু গুলা এসে পড়বে  Array (     [0] => ...