Commit 5986e657 by Patryk Czarnik

Konto - obsługa błędów za pomocą wyjątków

parent 37c47d02
package p11_klasy.enkapsulacja;
public class BrakSrodkow extends Exception {
public BrakSrodkow(String message) {
super(message);
}
}
...@@ -39,14 +39,19 @@ public class Konto { ...@@ -39,14 +39,19 @@ public class Konto {
} }
public void wplata(int kwota) { public void wplata(int kwota) {
if(kwota > 0) { if(kwota <= 0) {
this.saldo += kwota; throw new IllegalArgumentException("ujemna kwota wpłaty");
} else {
System.err.println("ujemna kwota wpłaty");
} }
this.saldo += kwota;
} }
public void wyplata(int kwota) { public void wyplata(int kwota) throws BrakSrodkow {
if(kwota <= 0) {
throw new IllegalArgumentException("ujemna kwota wypłaty");
}
if(kwota > saldo) {
throw new BrakSrodkow("za mało kasy");
}
this.saldo -= kwota; this.saldo -= kwota;
} }
} }
...@@ -35,10 +35,21 @@ public class Program { ...@@ -35,10 +35,21 @@ public class Program {
System.out.println(konto1); System.out.println(konto1);
konto1.wplata(300); konto1.wplata(300);
System.out.println(konto1); System.out.println(konto1);
try {
konto1.wyplata(400); konto1.wyplata(400);
System.out.println("nie było błędu wypłaty");
} catch (Exception e) {
// e.printStackTrace();
System.out.println(e);
}
System.out.println(konto1); System.out.println(konto1);
try {
konto1.wplata(-2000); konto1.wplata(-2000);
System.out.println("nie było błędu wpłaty");
} catch (Exception e) {
System.out.println(e);
}
System.out.println(konto1); System.out.println(konto1);
} }
......
...@@ -51,8 +51,8 @@ public class ProgramBankowy { ...@@ -51,8 +51,8 @@ public class ProgramBankowy {
// to w programie możemy te sytuacje rozróżnić i obsłużyć w róznych catchach // to w programie możemy te sytuacje rozróżnić i obsłużyć w róznych catchach
} catch(IllegalArgumentException e) { } catch(IllegalArgumentException e) {
System.out.println("Niepoprawny argument: " + e.getMessage()); System.out.println("Niepoprawny argument: " + e.getMessage());
// } catch(BrakSrodkow e) { } catch(BrakSrodkow e) {
// System.out.println(e.getMessage()); System.out.println(e.getMessage());
} catch(Exception e) { } catch(Exception e) {
System.out.println("Inny błąd: " + e); System.out.println("Inny błąd: " + e);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment