کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش Java – کار با دستورهای try-catch در Java

آموزش Java – کار با دستورهای try-catch در Java


ساختار دستور try/قعطه کد try در Java

داخل بدنه ی try کدی که ممکن است سبب رخداد خطا شود را قرار می دهند. بعد از قطعه کد try حتما باید یا دستور catch و یا finally استفاده شود. کدی که ممکن است اجرای آن منجر به خطا شود، بایستی داخل قطعه کد try قرار داده شده و در واقع در این قسمت از برنامه امتحان شود تا امکان اجرای موفقیت آمیز آن مشخص گردد.

دستور نگارشی (syntax) try-catch

try{  
//code that may throw exception  
}catch(Exception_class_Name ref) {}  

دستور نگارشی (syntax) try-finally

try{  
//code that may throw exception  
}finally{}  

قطعه کد catch در Java

قطعه کد catch برای مدیریت خطاهای رخ داده در بدنه ی try، بکار می روند. این قطعه کد منحصرا بایستی پس از قطعه try درج شود.


می توانید پس از یک قطعه کد try چندین قطعه کد catch داشته باشید.

مشکلاتی که در صورت عدم استفاده از exception handling در برنامه رخ می دهد

در زیر می بینید که بدون استفاده از try-catch چه مشکلاتی رخ می دهد.

public class Testtrycatch1 {  
public static void main (String args[]){  
int data=50/0;//may throw exception  
System.out.println("rest of the code...");  
}  
}  

خروجی:

Exception in thread main java.lang.ArithmeticException:/ by zero

همان طور که در مثال بالا مشاهده می کنید، بقیه ی دستورات اجرا نشده و متنی در خروجی چاپ نمی شود. در سایر برنامه ها ممکن است پس از خطی که خطا در آن رخ می دهد، 100 دستور دیگر وجود داشته باشد که اگر خطا رخ دهد، تمامی آن ها اجرا نخواهند شد.

برطرف کردن مشکل با استفاده از Exception Handling

در زیر توسعه دهنده با استفاده از قطعه کد try-catch مشکل را برطرف می سازد.

public class Testtrycatch2 {  
public static void main(String args[]){  
try{  
int data=50/0;  
}catch (ArithmeticException e){System.out.println(e);}  
System.out.println("rest of the code...");  
}  
}  

خروجی:

Exception in thread main java.lang.ArithmeticException:/ by zero
rest of the code...

همان طور که در مثال بالا مشاهده می کنید، باقی کد اجرا شده و رشته ی مورد نظر در خروجی چاپ می شود.

عملکرد داخلی قطعه کد try-catch

آموزش Java

JVM ابتدا بررسی می کند آیا خطا مدیریت شده است یا خیر. اگر خطا مدیریت نشده باشد، در آن صورت دستگاه مجازی جاوا (JVM) یک exception handler پیش فرض جهت مدیریت خطاها فراهم می کند که به ترتیب عملیات زیر را انجام می دهد:

  1. توصیفی از خطای رخ داده را در خروجی چاپ می کند.
  2. stack trace (سلسله مراتب و پشته ی متدهای فراخوانی شده که خطا در آن رخ داده است) در خروجی چاپ می شود.
  3. برنامه را متوقف می کند.

اما اگر برنامه نویس خطا را با استفاده از ساختارهای دستوری فوق مدیریت کند، برنامه طبق انتظار به روند اجرای خود ادامه داده و باقی دستورات اجرا می شوند.

1396/07/27 8711 1800
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...