(c) 2023 Technische Hochschule Augsburg - Fakultät für Informatik - Prof.Dr.Nik Klever - Impressum
a = 1
b = 0
a/b
--------------------------------------------------------------------------- ZeroDivisionError Traceback (most recent call last) <ipython-input-1-b41368efa26d> in <module>() 1 a = 1 2 b = 0 ----> 3 a/b ZeroDivisionError: division by zero
a = 11
b = "2"
if a > 10:
c = a+b
else:
c = a*b
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-2-5609a68bd0ae> in <module>() 2 b = "2" 3 if a > 10: ----> 4 c = a+b 5 else: 6 c = a*b TypeError: unsupported operand type(s) for +: 'int' and 'str'
while True:
x = int(input("Bitte geben sie eine ganze Zahl ein: "))
break
Bitte geben sie eine ganze Zahl ein: 5.6
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-3-3a0f40dc65fe> in <module>() 1 while True: ----> 2 x = int(input("Bitte geben sie eine ganze Zahl ein: ")) 3 break ValueError: invalid literal for int() with base 10: '5.6'
while True:
try:
x = int(input("Bitte geben sie eine ganze Zahl ein: "))
break
except ValueError:
print("Oops! Das war keine ganze Zahl! Probieren sie es nochmal ...")
Bitte geben sie eine ganze Zahl ein: 5.6 Oops! Das war keine ganze Zahl! Probieren sie es nochmal ... Bitte geben sie eine ganze Zahl ein: 5
while True:
try:
x = int(input("Bitte geben sie eine ganze Zahl ein: "))
break
except ValueError:
print("Oops! Das war keine ganze Zahl! Probieren sie es nochmal ...")
Bitte geben sie eine ganze Zahl ein: 5.6 Oops! Das war keine ganze Zahl! Probieren sie es nochmal ...
--------------------------------------------------------------------------- KeyboardInterrupt Traceback (most recent call last) /home/student/anaconda3/lib/python3.5/site-packages/ipykernel/kernelbase.py in _input_request(self, prompt, ident, parent, password) 713 try: --> 714 ident, reply = self.session.recv(self.stdin_socket, 0) 715 except Exception: /home/student/anaconda3/lib/python3.5/site-packages/jupyter_client/session.py in recv(self, socket, mode, content, copy) 738 try: --> 739 msg_list = socket.recv_multipart(mode, copy=copy) 740 except zmq.ZMQError as e: /home/student/anaconda3/lib/python3.5/site-packages/zmq/sugar/socket.py in recv_multipart(self, flags, copy, track) 357 """ --> 358 parts = [self.recv(flags, copy=copy, track=track)] 359 # have first part already, only loop while more to receive zmq/backend/cython/socket.pyx in zmq.backend.cython.socket.Socket.recv (zmq/backend/cython/socket.c:6971)() zmq/backend/cython/socket.pyx in zmq.backend.cython.socket.Socket.recv (zmq/backend/cython/socket.c:6763)() zmq/backend/cython/socket.pyx in zmq.backend.cython.socket._recv_copy (zmq/backend/cython/socket.c:1931)() /home/student/anaconda3/lib/python3.5/site-packages/zmq/backend/cython/checkrc.pxd in zmq.backend.cython.checkrc._check_rc (zmq/backend/cython/socket.c:7222)() KeyboardInterrupt: During handling of the above exception, another exception occurred: KeyboardInterrupt Traceback (most recent call last) <ipython-input-5-d83a4910ba17> in <module>() 1 while True: 2 try: ----> 3 x = int(input("Bitte geben sie eine ganze Zahl ein: ")) 4 break 5 except ValueError: /home/student/anaconda3/lib/python3.5/site-packages/ipykernel/kernelbase.py in raw_input(self, prompt) 687 self._parent_ident, 688 self._parent_header, --> 689 password=False, 690 ) 691 /home/student/anaconda3/lib/python3.5/site-packages/ipykernel/kernelbase.py in _input_request(self, prompt, ident, parent, password) 717 except KeyboardInterrupt: 718 # re-raise KeyboardInterrupt, to truncate traceback --> 719 raise KeyboardInterrupt 720 else: 721 break KeyboardInterrupt:
while True:
try:
x = int(input("Bitte geben sie eine ganze Zahl ein: "))
break
except ValueError:
print("Oops! Das war keine ganze Zahl! Probieren sie es nochmal ...")
except KeyboardInterrupt:
print("eigene Unterbrechung")
break
Bitte geben sie eine ganze Zahl ein: 5.6 Oops! Das war keine ganze Zahl! Probieren sie es nochmal ... eigene Unterbrechung
f = open("myfile.txt", "r")
--------------------------------------------------------------------------- FileNotFoundError Traceback (most recent call last) <ipython-input-7-d17853646b31> in <module>() ----> 1 f = open("myfile.txt", "r") FileNotFoundError: [Errno 2] No such file or directory: 'myfile.txt'
try:
f = open("myfile.txt", "r")
s = f.readline()
i = int(s.strip())
except OSError as err:
print("OSError: {}".format(err))
except ValueError:
print("Die eingelesenen Daten können nicht in eine ganze Zahl umgewandelt werden")
except:
print("Unerwarteter Fehler")
raise
OSError: [Errno 2] No such file or directory: 'myfile.txt'
%%writefile myfile.txt
Dies ist ein testfile
mit Text in
mehreren zeilen
Writing myfile.txt
try:
f = open("myfile.txt", "r")
s = f.readline()
i = int(s.strip())
except OSError as err:
print("OSError: {}".format(err))
except ValueError:
print("Die eingelesenen Daten können nicht in eine ganze Zahl umgewandelt werden")
except:
print("Unerwarteter Fehler")
raise
Die eingelesenen Daten können nicht in eine ganze Zahl umgewandelt werden
%%writefile myfile.txt
10
Dies ist ein testfile
mit Text in
mehreren zeilen
Overwriting myfile.txt
import time
try:
f = open("myfile.txt", "r")
s = f.readline()
i = int(s.strip())
print(i)
time.sleep(60)
except OSError as err:
print("OSError: {}".format(err))
except ValueError:
print("Die eingelesenen Daten können nicht in eine ganze Zahl umgewandelt werden")
except:
print("Unerwarteter Fehler")
raise
10 Unerwarteter Fehler
--------------------------------------------------------------------------- KeyboardInterrupt Traceback (most recent call last) <ipython-input-12-96e7b11ae27d> in <module>() 5 i = int(s.strip()) 6 print(i) ----> 7 time.sleep(60) 8 except OSError as err: 9 print("OSError: {}".format(err)) KeyboardInterrupt:
raise NameError
--------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-13-a586bde47246> in <module>() ----> 1 raise NameError NameError:
raise NameError("Hallo Welt")
--------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-14-7a8b3835a427> in <module>() ----> 1 raise NameError("Hallo Welt") NameError: Hallo Welt
try:
raise Exception("hallo welt", 10, dict(a=7,b=3.141))
except Exception as instance:
print(type(instance))
print(instance.args)
print(instance)
s,i,d = instance.args
print("String={}".format(s))
print("Integer={}".format(i))
print("Dictionary={}".format(d))
<class 'Exception'> ('hallo welt', 10, {'a': 7, 'b': 3.141}) ('hallo welt', 10, {'a': 7, 'b': 3.141}) String=hallo welt Integer=10 Dictionary={'a': 7, 'b': 3.141}
try:
a = 10/0
except KeyboardInterrupt:
print("Unterbrechung")
except:
import traceback
print(traceback.format_exc())
print("Nach dem try-except-Block")
Traceback (most recent call last): File "<ipython-input-17-e6eb355077c2>", line 2, in <module> a = 10/0 ZeroDivisionError: division by zero Nach dem try-except-Block
try:
a = 10/0
except KeyboardInterrupt:
print("Unterbrechung")
except:
raise
--------------------------------------------------------------------------- ZeroDivisionError Traceback (most recent call last) <ipython-input-18-fe15ae1f24a2> in <module>() 1 try: ----> 2 a = 10/0 3 except KeyboardInterrupt: 4 print("Unterbrechung") 5 except: ZeroDivisionError: division by zero
try:
a = 10/0
except KeyboardInterrupt:
print("Unterbrechung")
except:
import sys
t, v, tb = sys.exc_info()
print("Ausnahme {}: {}".format(t,v))
print("Zeile: {}".format(tb.tb_lineno))
print("File '{}' in '{}'".format(tb.tb_frame.f_code.co_filename,tb.tb_frame.f_code.co_name))
Ausnahme <class 'ZeroDivisionError'>: division by zero Zeile: 2 File '<ipython-input-19-90e412783743>' in '<module>'
try:
raise KeyboardInterrupt
except KeyboardInterrupt:
print("Unterbrechung")
finally:
print("Beenden des try-except-Blocks")
Unterbrechung Beenden des try-except-Blocks
try:
a = 10/2
print(a)
except ValueError:
print("ValueError")
finally:
print("Beenden des try-except-Blocks")
5.0 Beenden des try-except-Blocks
def dividiere(x,y):
try:
result = x/y
except ZeroDivisionError:
print("division by zero!")
else:
print("Ergebnis: {}/{}={}".format(x,y,result))
finally:
print("Fertig")
dividiere(2,1)
dividiere(2,0)
dividiere("2","1")
Ergebnis: 2/1=2.0 Fertig division by zero! Fertig Fertig
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-22-4708dd3e1df8> in <module>() 11 dividiere(2,1) 12 dividiere(2,0) ---> 13 dividiere("2","1") <ipython-input-22-4708dd3e1df8> in dividiere(x, y) 1 def dividiere(x,y): 2 try: ----> 3 result = x/y 4 except ZeroDivisionError: 5 print("division by zero!") TypeError: unsupported operand type(s) for /: 'str' and 'str'