I should mention that in my case, my sessions are non-autoflush, and
non-transactional, so I do my begin()/commits() explicitly.
David Gardner wrote:
> Depending on how your code is layed out you could wrap your
> session.flush() with a try:/catch I do something like this:
>
> session.begin()
> try:
> ...
> session.flush()
> session.commit()
> except:
> session.rollback()
>
> Eoghan Murray wrote:
>
>> Hi,
>>
>> I've the following which generates an insert:
>>
>> try:
>> MyDBLog(
>> myfield='A too long string xxxxxxxxxxxx'
>> )
>> except Exception, e:
>> log.error("Exception occurred with database logging: %s" % e)
>>
>>
>> Unfortunately, 'myfield' is (for example) a string of only length 10,
>> so the session fails with
>> ProgrammingError: (ProgrammingError) value too long for type
>> character varying(10)
>>
>> This error occurs at session commit time, so my 'except' clause above
>> is useless.
>>
>> As 'MyDBLog' is not critical, I want to be able to ignore/log any kind
>> of Exception which the 'try' block above ultimately generates. Is
>> there a way to do this?
>>
>> Thanks!
>>
>> Eoghan
>> >>
>>
>>
>>
>
>
> --
> David Gardner
> Pipeline Tools Programmer, "Sid the Science Kid"
> Jim Henson Creature Shop
> (323) 802-1717 [EMAIL PROTECTED]
>
>
>
--
David Gardner
Pipeline Tools Programmer, "Sid the Science Kid"
Jim Henson Creature Shop
(323) 802-1717 [EMAIL PROTECTED]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---