On 17/02/14 11:44, Khalid Al-Ghamdi wrote:
Why is it i can use mu custom class exception without creating an exception object first?
There are formatting problems when I try to copy your code. I've tried to fix them below, apologies if I got it wrong. However you do create an instance when you raise it... > class ShortInputException(Exception): > def __init__(self, length, atleast): > Exception.__init__(self) > self.length = length > self.atleast = atleast >try: > text = input() > if len(text) < 3: > raise ShortInputException(len(text), 3) You have your class name followed by parens. That's how you create an instance. So you are raising an instance of your class. except ShortInputException as ex: print(... And you catch the instance as ex here... But remember that in Python classes are objects too... So you don't always need to create an instance to use a class. HTH -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ http://www.flickr.com/photos/alangauldphotos _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor