From 5512ec868c42f7206944debac693e9548a20ee1e Mon Sep 17 00:00:00 2001 From: Raspithek Date: Sat, 4 Mar 2023 10:48:49 +0100 Subject: [PATCH] teil8. --- teil7/partner/Person.py | 13 ++++++++++++- teil7/partner/__init__.py | 1 + teil7/partner/anschrift.py | 9 --------- teil7/testpartner.py | 4 +++- teil8/exception.py | 17 +++++++++++++++++ teil8/finally.py | 27 +++++++++++++++++++++++++++ teil8/meineexception.py | 7 +++++++ teil8/myexception.py | 9 +++++++++ teil8/try.py | 21 +++++++++++++++++++++ 9 files changed, 97 insertions(+), 11 deletions(-) delete mode 100644 teil7/partner/anschrift.py create mode 100644 teil8/exception.py create mode 100644 teil8/finally.py create mode 100644 teil8/meineexception.py create mode 100644 teil8/myexception.py create mode 100644 teil8/try.py diff --git a/teil7/partner/Person.py b/teil7/partner/Person.py index 4b77db4..4e15871 100644 --- a/teil7/partner/Person.py +++ b/teil7/partner/Person.py @@ -1,5 +1,16 @@ +from partner.Anschrift import Anschrift + class Person: # Konstruktor - def __init__(self,vorname, name): + def __init__(self,vorname, name,anschrift): self.vorname = vorname self.name = name + + print(type(Anschrift)) + if anschrift == None: + raise TypeError('anschrift darf nicht None sein') + + if not isinstance(anschrift, Anschrift): + raise TypeError('anschrift ist vom falschen Typ') + + self.anschrift = anschrift diff --git a/teil7/partner/__init__.py b/teil7/partner/__init__.py index a27084f..a39c5b0 100644 --- a/teil7/partner/__init__.py +++ b/teil7/partner/__init__.py @@ -1,5 +1,6 @@ from . import Telefonnummer from . import Person +from . import Anschrift __all__ = ['telefonnnummer','person','anschrift'] diff --git a/teil7/partner/anschrift.py b/teil7/partner/anschrift.py deleted file mode 100644 index 2a79d80..0000000 --- a/teil7/partner/anschrift.py +++ /dev/null @@ -1,9 +0,0 @@ -class Anschrift: - def __init__(self, strasse, hausnummer, plz, ort): - self.strasse = strasse - self.hausnummer = hausnummer - self.plz = plz - self.ort = ort - - def __str__(self): - return self.strasse + ' ' + self.hausnummer + '\n' + self.plz + ' ' + self.ort diff --git a/teil7/testpartner.py b/teil7/testpartner.py index 8079a79..0ec57f1 100644 --- a/teil7/testpartner.py +++ b/teil7/testpartner.py @@ -1,7 +1,9 @@ from partner.Telefonnummer import Telefonnummer from partner.Person import Person +from partner.Anschrift import Anschrift -p= Person('Homer','Simpson') +anschrift = Anschrift('Evergreen Terrace', '742','55555', 'Springfield') +p= Person('Homer','Simpson', [0,1]) tel = Telefonnummer('44','221','12345678') print(str(tel)) diff --git a/teil8/exception.py b/teil8/exception.py new file mode 100644 index 0000000..1d7e4a9 --- /dev/null +++ b/teil8/exception.py @@ -0,0 +1,17 @@ + + +def func(wert): + + if not isinstance(wert,int): + raise TypeError('weertr muss ein int sein.') + + if wert >0: + print('Wert ist in Ordnung') + else: + raise ValueError('wert muss größer 0 sein') + + + +func(7) +func(-1) + diff --git a/teil8/finally.py b/teil8/finally.py new file mode 100644 index 0000000..e997b46 --- /dev/null +++ b/teil8/finally.py @@ -0,0 +1,27 @@ +# encode utf-8 + +def func(wert): + + if not isinstance(wert,int): + raise TypeError('weertr muss ein int sein.') + + if wert >0: + print('Wert ist in Ordnung') + else: + raise ValueError('wert muss größer 0 sein') + + + +func(7) + +try: + func(-1) +except ValueError: + print('Da haben wir doch einen falschen Wert übergeben.') +finally: + # Dieser Block wird immer ausgeführt, egal ob mit oder ohne Exception + # Hier kannst z.B. Datenbankverbindungen schliessen, Speicher freigeben oder temporäre Dateien löschen + pass + + + diff --git a/teil8/meineexception.py b/teil8/meineexception.py new file mode 100644 index 0000000..d725df2 --- /dev/null +++ b/teil8/meineexception.py @@ -0,0 +1,7 @@ + +class MeineException(Exception): + pass +# def __init__(message): +# super().__init__(message) + + diff --git a/teil8/myexception.py b/teil8/myexception.py new file mode 100644 index 0000000..49fbcf8 --- /dev/null +++ b/teil8/myexception.py @@ -0,0 +1,9 @@ +from meineexception import MeineException + +def func(): + raise MeineException('meine eigene Exception') + + + +func() + diff --git a/teil8/try.py b/teil8/try.py new file mode 100644 index 0000000..41a64b3 --- /dev/null +++ b/teil8/try.py @@ -0,0 +1,21 @@ + +def func(wert): + + if not isinstance(wert,int): + raise TypeError('weertr muss ein int sein.') + + if wert >0: + print('Wert ist in Ordnung') + else: + raise ValueError('wert muss größer 0 sein') + + + +func(7) + +try: + func(-1) +except ValueError: + print('Da haben wir doch einen falschen Wert übergeben.') + +