بخشی از پاورپوینت

--- پاورپوینت شامل تصاویر میباشد ----

اسلاید 1 :

راه های کلی برخورد با خطاها

—برخورد و مدیریت برخورد (Handling the Error)

¡توقف اجرا

¡از سر گیری کاری که باید انجام گیرد و یا کار معادل

—

—پخش کردن خطا (Propagating the Error)

¡برنامه ای که این تابع را فراخوانی کرده مطع کرده و به او اجازه می دهیم که هر طور مایل است با این خطا برخورد کند.

—

اسلاید 2 :

پخش کردن خطا (Propagating the Error)

—بازگرداندن کد خطا

مقدار بازگشتی تابع با مقدار بازگشتی خطا با هم تداخل پیدا می کنند

برنامه ای که تابع را فراخوانی می کند می بایست بعد از هر بار فراخوانی کد خطا را بررسی کند.

—استفاده از یک متغیر سراسری برای اعلام خطا

به طور کلی استفاده از متغیر سراسری خوانایی و قابلیت اطمینان برنامه را کاهش می دهد و حتی عیب یابی را نیز مشکل می کند.

برنامه ای که تابع را فراخوانی می کند می بایست بعد از هر بار فراخوانی متغیر سراسری خطا را بررسی کند.

 

—Exception راه حل بهتری برای این کار است.

 

اسلاید 3 :

توضیح دلیل خطا و وضعیت حاصل

—چگونه می توان یک خطا را توصیف کرد؟

به کمک یک کد عددی

به کمک یک پیغام متنی

 

—شرایط خطا ممکن است اطلاعاتی بیشتر از یک فیلد داشته باشد

—

—می توان یک شرایط خطا را با یک شی بیان کرد.

اسلاید 4 :

Error Handling: Exceptions

—In Java, the error-handling system is based on exceptions

¡Exceptions must be handed in a try/catch block

¡When an exception occurs, process flow is immediately transferred to the catch block

—Basic Form

  try {

    statement1;

    statement2;

    ...

  catch(SomeException someVar) {

    handleTheException(someVar);

 

اسلاید 5 :

Exception

—در جاوا دو کلاس برای اشیای خطا در نظر گرفته شده است که همه کلاسهای خطاها از آنها ارث می برند.

—خطاهای در بیشتر مواقع از نوع Exception هستند.

—

—از آنجایی که شی خطا باید بین توابع مختلف دست به دست گردد باید از یک کلاس که به طور کلی اشیای قابل دست به دست شدن را نمایندگی می کند ارث ببرد. (Throwable)

—

اسلاید 6 :

Throwable Types

—Error

¡A non-recoverable problem that should not be caught (OutOfMemoryError, StackOverflowError, …)

—Exception

¡An abnormal condition that should be caught and handled by the programmer

—RuntimeException

¡Special case; does not have to be caught

¡Usually the result of a poorly written program (integer division by zero, array out-of-bounds, etc.) 

÷A RuntimeException is considered a bug

اسلاید 7 :

Multiple Catch Clauses

—A single try can have more that one catch clause

—

—

¡If multiple catch clauses are used, order them from the most specific to the most general

¡If no appropriate catch is found, the exception is handed to any outer try blocks

÷If no catch clause is found within the method, then the exception is thrown by the method

 

اسلاید 8 :

Try-Catch, Example

 ...

 BufferedReader in = null;

 String lineIn;

 try {

   in = new BufferedReader(new FileReader("book.txt"));

   while((lineIn = in.readLine()) != null) {

     System.out.println(lineIn);

   }

   in.close();

  catch (FileNotFoundException fnfe ) {

   System.out.println("File not found.");

  catch (EOFException eofe) {

   System.out.println("Unexpected End of File.");

  catch (IOException ioe) {

   System.out.println("IOError reading input: " + ioe);

   ioe.printStackTrace(); // Show stack dump

 

اسلاید 9 :

The finally Clause

—After the final catch clause, an optional  finally clause may be defined

—The finally clause is always executed, even if the try or catch blocks are exited through a break, continue, or return—

try {

  ...

} catch (SomeExceptionsomeVar) {

  // Do something

} finally {

  // Always executed

}

اسلاید 10 :

Thrown Exceptions

—If a potential exception is not handled in the method, then the method must declare that the exception can be thrown

  public SomeType someMethod(...) throws SomeException {

    // Unhandled potential exception

    ...

  } 

¡Note: Multiple exception types (comma separated) can be declared in the throws clause

—Explicitly generating an exception

  throw new IOException("Blocked by firewall.");

throw new MalformedURLException("Invalid protocol");

در متن اصلی پاورپوینت به هم ریختگی وجود ندارد. برای مطالعه بیشتر پاورپوینت آن را خریداری کنید