Ostatnio programując w C++ walczyłem z polimorficznymi wyjątkami. Sytuacja zgrała się z trafieniem po drodze na lekturę
Thinking in Python, gdzie zauważyłem bardzo ciekawe podejście autora, który czasami pisze "w C++ musiałeś to i to a w Pythonie - po prostu działa". Szalenie mi to podejście odpowiada :) Tak więc w myśl tej idei postanowiłem sprawdzić jak ma się polimorfizm wyjątków w Pythonie i czy dużo więcej się namęcze. Po raz kolejny :) punkt za prostotę dla Pythona - po prostu działa :]
class MyException(Exception):
def __init__(self, message):
self.message = message
def __str__(self):
return repr(self.message)
class MySocketException(MyException):
pass
class MyOtherException(MyException):
pass
def f():
raise MyOtherException("Moj wyjatek: Wystapil straszny blad !")
if __name__ == '__main__':
try:
f()
except MyException, e:
print e
Czy to nie jest piękne :)
No comments:
Post a Comment