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

آموزش Java – مدیریت خطا/Exception Handling در Java

آموزش مدیریت خطا (Exception Handling) در Java

مدیریت خطا/Exception Handling یکی از مکانیزم های کارا جهت مدیریت خطاهای زمان اجرا است تا جریان اجرای برنامه قطع نشده و روند عادی برنامه دچار اخلال نشود.

در مبحث حاضر exception، انواع آن و تفاوت بین خطاهای checked و unchecked را خواهید آموخت.

شرح مفهوم Exception

این لغت در فرهنگ واژه به معنای شرایط غیرعادی می باشد.

در Java منظور از Exception رویدادی است که روند عادی اجرای برنامه را مختل می کند. Exception در واقع یک آبجکت است که در زمان اجرای برنامه، به هنگام مواجه با خطا، throw می شود.

شرح مفهوم Exception Handling

به مکانیزیمی که خطاهای رخ داده در زمان اجرای برنامه نظیر ClassNotFound، IO، SQL، Remote و غیره ... را مدیریت می کند.

مزایای استفاده از Exception Handling

مزیت اصلی استفاده از exception handling جلوگیری از قطع جریان و روند عادی اجرای برنامه می باشد. Exception ها روند عادی اجرای برنامه را مختل می کنند، توسعه دهنده به همین خاطر از exception handling استفاده می کند. به مثال ساده ی زیر توجه کنید:

statement 1;  
statement 2;  
statement 3;  
statement 4;  
statement 5;//exception occurs  
statement 6;  
statement 7;  
statement 8;  
statement 9;  
statement 10;  

فرض کنید برنامه ی شما از 10 دستور تشکیل شده که در دستور پنجم آن یک خطا رخ می دهد. در این صورت روند اجرای برنامه متوقف شده و باقی دستورات (6 تا 10) دیگر اجرا نخواهند شد. حال اگر با بهره گیری از exception handling خطای رخ داده را مدیریت نمایید، دیگر روند اجرای سایر دستورات مختل نمی شود. بنا به دلایل ذکر شده برنامه نویس از exception handling بهره می گیرد.

سلسله مراتب و نمودار درختی کلاس های Exception Java

آموزش Java

انواع Exception ها

در کل دو نوع Exception وجود دارد: (خطاهای زمان کامپایل) checked و (خطاهای زمان اجرا) unchecked. شرکت sun microsystem خطاها را به سه بخش تقسیم می کند:

  1. Checked Exception
  2. Unchecked Exception
  3. Error

شرح تفاوت بین خطاهای checked و unchecked


  1. checked exception

    تمامی کلاس هایی که از کلاس Throwable ارث بری می کنند به استثنای RuntimeException و Error ، تحت عنوان checked exception شناخته می شوند. از جمله ی این خطاها می توان به IOException، SQLException اشاره کرد. checked exception ها در زمان کامپایل برنامه چک می شوند.

  2. unchecked exception

    کلاس هایی که از RuntimeException ارث بری دارند تحت عنوان unchecked exception خوانده می شوند، برای مثال می توان به ArithmeticException، NullPointerException، ArrayIndexOutOfBoundsException و غیره ... اشاره کرد. unchecked exception ها در زمان اجرای برنامه چک می شوند.

  3. Error

    Error غیر قابل مدیریت بوده و در صورت رخداد آن، امکان اصلاح و بازیابی برنامه وجود ندارد. مثال: OutOfMemoryError، VirtualMachineError، AssertionError و غیره ... .

شرایطی که معمولا خطاهای زمان اجرا در آن رخ می دهند

در زیر به شرایطی که ممکن است تحت آن ها unchecked exception یا خطاهای زمان اجرا رخ دهد، اشاره می کنیم:

  1. زمانی که خطای ArithmeticException رخ می دهد

    هر زمان که عددی بر 0 تقسیم شود، یک خطای ArithmeticException رخ می دهد.


    int a=50/0;//ArithmeticException  
  2. زمانی که خطای NullPointerException رخ می دهد

    زمانی که یک متغیر حاوی مقدار null باشد، اگر برنامه نویس هر عملیاتی بر روی آن انجام دهد، خطای NullPointerException صادر می شود.

    String s=null;  
    System.out.println(s.length());//NullPointerException  
    
  3. زمانی که خطای NumberFormatException رخ می دهد

    اگر توسعه دهنده یک متغیر از نوع رشته داشته باشد و بخواهد آن را به یک متغیر از نوع integer تبدیل کند، خطای NumberFormatException رخ خواهد داد.

    String s="abc";  
    int i=Integer.parseInt(s);//NumberFormatException  
    
  4. زمانی که خطای ArrayIndexOutOfBoundsException رخ می دهد

    زمانی که توسعه دهنده بخواهد مقداری را در اندیسی که بزرگتر از طول آرایه هست، قرار دهد، خطای ArrayIndexOutOfBoundsException رخ می دهد:

    int a[]=new int[5];  
    a[10]=50; //ArrayIndexOutOfBoundsException  
    

کلیدواژه ی های مورد استفاده در مدیریت خطاها

  1. try
  2. catch
  3. finally
  4. throw
  5. throws
1396/07/27 9513 2338
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

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