Ed Leafe wrote:
> On Feb 17, 2010, at 7:21 PM, Jeff Johnson wrote:
>
>> I am trying to wrap my arms around exceptions. I see in code:
>>
>> Try:
>> ...
>> Except myFineException
>>
>> I have looked at built in exceptions and I see them in tracebacks.
>>
>> When I look at dExceptions.py I see:
>>
>> class NoRecordsException(dException):
>> pass
>>
>> What does this do? Does it just say that a NoRecordsException is Ok?
>> Do you add code to it somewhere else? Or does this just print on the
>> traceback?
>
> No, this just defines the class. The class doesn't "do" anything, it
> just provides a particular type of exception. That way, somewhere in the code
> when no records are returned from a query, we can add code that says:
>
> if self.RowCount == 0:
> raise dException.NoRecordsException
>
> The calling method (usually in the form or the bizobj) can then add a
> handler for this particular class of exception. So let's say it's a form. The
> call might look like:
>
> try:
> self.requery()
> except dException.NoRecordsException:
> dabo.ui.info("Sorry, no records matched your criteria")
> except dException.DBQueryException:
> dabo.ui.info("Your query was not formed correctly")
> except dException.ConnectionLostException:
> dabo.ui.info("The database connection was lost. Try again later")
>
> What the above code does is catch different types of exceptions, and
> handle them appropriately. In other languages, the more common method is to
> return different error codes, but in Python, it is more common to raise
> different exception classes based on the particular problem.
>
>> PS. Ed, don't answer this. It sounds from your last joke like you
>> haven't been getting any sleep preparing for PyCon! ;^)
>
>
> Oh, man, you're crusin' for a bruisin'!
>
>
> -- Ed Leafe
>
>
>
Thanks for the explanation Ed!
--
Jeff
Jeff Johnson
[email protected]
Phoenix Python User Group - [email protected]
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message: http://leafe.com/archives/byMID/[email protected]