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

Reply via email to