exception handling n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Exception Handling PowerPoint Presentation
Download Presentation
Exception Handling

Loading in 2 Seconds...

play fullscreen
1 / 18

Exception Handling - PowerPoint PPT Presentation


  • 84 Views
  • Uploaded on

Exception Handling. Kapitel 9. Agenda. Exceptions try, throw and catch Skapa en egen exception-klass Multipla throw / catch Slänga vidare en exception Olika sorters exceptions För- och eftervillkor. try, throw and catch. Scanner kbd = new Scanner(System.in); try { int a = 5;

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Exception Handling


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
agenda
Agenda
  • Exceptions
    • try, throw and catch
  • Skapa en egen exception-klass
  • Multipla throw / catch
  • Slänga vidare en exception
  • Olika sorters exceptions
  • För- och eftervillkor
try throw and catch
try, throw and catch

Scanner kbd = new Scanner(System.in);

try

{

int a = 5;

int b = kbd.nextInt();

if(b == 0)

throw new Exception("Kan inte dela med noll!");

else

System.out.println("a / b = " + a/b);

}

catch(Exception e)

{

System.out.println(e.getMessage());

}

try throw and catch1
try, throw and catch
  • Try-blocket
    • Innehåller kod där nått kan gå snett
    • Om det går snett så “kastar” (throw) vi en exception
  • Catch-blocket
    • Fångar “kastet”
    • Nästan som en metod
f rdefinierade exception klasser
Fördefinierade exception-klasser
  • FileNotFoundException
  • IOException
  • ClassNotFoundException
  • NoSuchMethodException
skapa en egen exception klass
Skapa en egen exception-klass

public class delamednoll extends Exception

{

public delamednoll(String message)

{

super(message);

}

}

skapa en egen exception klass1
Skapa en egen exception-klass

Scanner kbd = new Scanner(System.in);

try

{

int a = 5;

int b = kbd.nextInt();

if(b == 0)

throw new delamednoll("Kan inte dela med noll!!!");

else

System.out.println("a / b = " + a/b);

}

catch(delamednoll e)

{

System.out.println(e.getMessage());

}

multipla throw catch
Multipla throw/catch

try

{

int b = kbd.nextInt();

if(b == 0)

throw new delamednoll("Hej 1");

else if(b < 0)

throw new negativtal("Hej 2");

}

catch(delamednoll e)

{

System.out.println(e.getMessage());

}

catch(negativtal e)

{

System.out.println(e.getMessage());

}

sl nga vidare en exception
Slänga vidare en exception

public static void main(String[ ] args)

{

Scanner kbd = new Scanner(System.in);

try

{

int a = 5, b = kbd.nextInt();

int c = dela(a,b);

System.out.println(c);

}

catch(delamednoll e)

{

System.out.println(e.getMessage());

}

}

sl nga vidare en exception1
Slänga vidare en exception

public static int dela(int a, int b) throws delamednoll

{

if(b == 0)

throw new delamednoll("Inte bra!");

return a/b;

}

olika sorters exceptions
Olika sorters exceptions
  • Checked exception
    • Måste tas omhand i ett catch-block (eller throws)
  • Unchecked exception
    • Behöver inte tas omhand i ett catch-block
    • Array index out of bounds
    • Division med noll
    • Avslutar programmet
errors
Errors
  • Genereras vid onormala tillstånd
    • Vad nu det betyder 
    • Out of memory
  • Behöver inte tas omhand
    • Som unchecked
f r och eftervillkor
För- och eftervillkor
  • Förvillkor (pre)
    • Vad som ska gälla innan metoden anropas
    • Om det inte är uppfyllt är resultatet odefinierat
  • Eftervillkor (post)
    • Vad som ska gälla när metoden är klar
    • Under förutsättning att förvillkoret var uppfyllt
metod f r division
Metod för division

//pre: nämnare != 0

//post: kvoten mellan taljare och

//namnare har returnerats

double dividera(double taljare, double namnare)

{

return taljare/namnare;

}

kontraktsprogrammering
Kontraktsprogrammering
  • taUtPengar
    • pre: ut <= saldo
    • post: saldo har minskats med ”ut” kronor
  • sattInPengar
    • pre: in >= 0
    • saldo har ökats med ”in” kronor
summering
Summering
  • Exceptions
    • Är ett objekt
    • Separerar normalfallet från ovanliga fall
    • try, throw and catch
  • Skapa en egen exception-klass
  • Multipla throw / catch
  • Slänga vidare en exception
    • throws
summering1
Summering
  • Olika sorters exceptions
    • Checked
    • Unchecked
  • Error
  • Kontraktsprogrammering
    • pre / post