মনে
হইলো কয়েকটা কোডের Procedure দেখাইলে আপনাদের
কনসেপ্ট ক্লিয়ার হবে , তাই এইখানে ২/৩ টা কোড দেখানোর চেস্টা করবো ইনশাল্লাহ।
কোড
১ ঃ
public class Main{
public static void main(String [] args){
১. int a=50,b=0,c;
২. c=a/b;
// ArithmeticException
৩. System.out.println( c );
}
}
JVM
: ভাই, ২ নাম্বার লাইনে এক্সেপশন হইসে, আপনি কি এটা হ্যান্ডেল করার জন্য কিছু করসেন?
Main
Method: নাহ।
JVM
: Actionnn…
কি
Action নিবে? ArithmeticException (or যে এক্সেপশন হবে) এর অবজেক্ট পাস করে দিবে Default Exception Handler এর কাছে, Default Exception Handler ঐ অবেজেক্ট প্রিন্ট করে প্রোগ্রাম বন্ধ করে দিবে।
Output:
Exception in thread "main" java.lang.ArithmeticException:
/ by zero
at package.class.method(M.java:2)
কোড
২ ঃ
public class Main{
public class Main{
public static void main(String [] args){
int a=50,b=0,c;
try{
৩ c=a/b;
// ArithmeticException
৪ }catch(ArithmeticException e){
System.out.println(“From Catch Block”);
}
System.out.println(“Outside Exceptions”);
}
}
JVM
: ভাই, এক্সেপশন হ্যান্ডেল করেছেন?
Main method:
হ্যাঁ, try, catch ব্যবহার করেছি।
JVM:
ওকে, এক্সেপশন অবেজেক্ট কে আপনার ক্যাচ ব্লকে
পাঠিয়ে দিলাম তাহলে।
৪
নাম্বার লাইনের ক্যাচ ব্লকের এক্সেপশন রিসিভারের সাথে যদি throw করা অবজেক্ট মিলে তাহলে
ক্যাচ ব্লক এক্সিকিউট হবে।
যদি
না মিলে তাহলে Default Exception Handler এর কাছে পাঠিয়ে দিবে।
Output:
From
Catch Block
Outside
Exceptions
কোড ৩ঃ
public class Main{
public static void main(String[] args) {
int []a=new int [4];
try{
System.out.println(a[6]); //ArrayIndexOutOfBoundsException
}catch(ArithmeticException e){
System.out.println("From Catch
Block");
} finally{
System.out.println("Qyamat se
Qyamat");
}
System.out.println("Outside
Exceptions");
}
}
JVM:
ভাই, এক্সেপশন হ্যান্ডেল?
Main
method: করসি।
JVM:
ওকে, আপনার ক্যাচ ব্লকে পাঠায় দিলাম।
Main:
Ok.
JVM:
ভাই আপনার ক্যাচ ব্লকে ArrayOutOfBoundsException
এর অবজেক্ট খুজে পাইলাম না।
Main:
তাহলে আমি জানি না। :p
JVM:
Actionn...
মানে
আবারো Default Exception Handler এর কাছে পাঠিয়ে
দিবে।
কিন্তু
এইবার কোডে finally আছে। আর কিয়ামত হয়ে গেলেও
এটা এক্সিকিউট হবেই হবে।
Output:
Qyamat
se Qyamat
Exception in thread "main"
java.lang.ArrayIndexOutOfBoundsException: 6
at abstractp.M.main(M.java:7)
<-Previous Topic Next Topic-> throw vs throws
Comments
Post a Comment