discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] catching unrecognized exception


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] catching unrecognized exception
Date: Tue, 15 Apr 2014 16:31:58 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Nemanja,

Simple explanation:
You haven't fixed your syntax for the first except clause.
Going back to my other post, it should read
"except mdb.Error as e:", not "except mdb.Error, e".

Because you didn't do that, "e" is undefined in your except clause.
This raises a NameError in your except clause, which doesn't get
handled. Fix the except syntax.

Also, don't do system.exit() in a multithreaded application, unless
you really know what you're doing. You'll end up with unfinished data,
broken database commits and so on.

Greetings,
Marcus

On 15.04.2014 15:40, Nemanja Savic wrote:
> Hi again,
> 
> so, the exception appeared again. Just to remind: 
> thread[thread-per-block[0]: <gr_block db_logger2 (65)>]: caught 
> unrecognized exception
> 
> I can't find what (65) means. This time complete block of code was
> encapsulated by try and except but nothing was caught.
> 
> Here is my code:
> 
> def handle_msg(self, msg): try: message =
> pmt.pmt_symbol_to_string(msg) msg_lines = message.split('\n') 
> sensor_id = msg_lines[0] vendor = msg_lines[2] sensor_type =
> msg_lines[3] time = msg_lines[1] querry = "INSERT INTO `%s`.`%s`
> (`id` ,`sens_id` ,`vendor`, `sensor_type`, `det_id`) VALUES (NULL ,
> '%s', '%s', '%s','%s');" % (self._db_name, self._det_table,
> sensor_id, vendor, sensor_type, self._id) cur = self._con.cursor() 
> cur.execute(querry) except mdb.Error, e: print "Unexpected error
> while trying to insert into table" print 50*'-' print 50*'-' print
> "Error %d: %s" % (e.args[0],e.args[1]) sys.exit(1)
> 
> except: print 'msg handler exception' print 50*'-' print message 
> print msg_lines print 50*'-'
> 
> Except this function there is also constructor and additional
> function for setting the database up (it is called only in
> constructor). There is no work function as this block nly receives
> messages and writes to database. Is there any idea how can I catch
> this?
> 
> Thanx
> 
> 
> 
> On Thu, Mar 20, 2014 at 4:34 PM, Marcus Müller <address@hidden>
> wrote:
> 
> Hi Nemanja,
> 
> your except syntax is wrong, most probably you wanted to use
> "except ExceptionType as e" instead, refer to 
> http://docs.python.org/2/tutorial/errors.html
> 
> Anyway, have you tried surrounding all your handler code with a
> try and catch not only the database related errors?
> 
> Greetings, Marcus
> 
> On 20.03.2014 15:58, Nemanja Savic wrote:
>>>> Dear gnuradioers,
>>>> 
>>>> I would like to ask againi if somebody can help me
>>>> understand this: thread[thread-per-block[0]: <gr_block
>>>> db_logger2 (62)>]: caught unrecognized exception
>>>> 
>>>> I have two blocks of db_logger type and it looks like only
>>>> one catch this unrecognized exception and another keeps
>>>> working fine.
>>>> 
>>>> best and thank you
>>>> 
>>>> 
>>>> On Mon, Mar 3, 2014 at 12:55 PM, Nemanja Savic
>>>> <address@hidden> wrote:
>>>> 
>>>>> Hi all guys,
>>>>> 
>>>>> I have a block which is responsible to receive certain
>>>>> messages from other blocks and to write the data from the
>>>>> message into database. Sometimes the following exception
>>>>> occures and the block stops writing into database:
>>>>> 
>>>>> thread[thread-per-block[0]: <gr_block db_logger2 (62)>]:
>>>>> caught unrecognized exception
>>>>> 
>>>>> The structure of the block is really simple:
>>>>> 
>>>>> def handle_msg(self, msg): message = 
>>>>> pmt.pmt_symbol_to_string(msg) msg_lines =
>>>>> message.split('\n') try: sensor_id = msg_lines[0] vendor =
>>>>> msg_lines[2] sensor_type = msg_lines[3] time = msg_lines[1]
>>>>> #try: querry = "INSERT INTO `%s`.`%s` (`id` ,`sens_id`
>>>>> ,`vendor`, `sensor_type`, `det_id`) VALUES (NULL , '%s',
>>>>> '%s', '%s','%s');" % (self._db_name, self._det_table,
>>>>> sensor_id, vendor, sensor_type, self._id) # print querry
>>>>> cur = self._con.cursor() cur.execute(querry) except 
>>>>> mdb.Error, e: print "Unexpected error while trying to
>>>>> insert into table" print msg_lines print 50*'-' print
>>>>> "Error %d: %s" % (e.args[0],e.args[1]) sys.exit(1)
>>>>> 
>>>>> Is there any way to track this problem and find the cause?
>>>>> 
>>>>> Best regards,
>>>>> 
>>>>> -- Nemanja Savić
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Discuss-gnuradio mailing list address@hidden 
>>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>> 
>> 
>> _______________________________________________ Discuss-gnuradio
>> mailing list address@hidden 
>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>> 
> 
> 
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJTTULeAAoJEBQ6EdjyzlHtRIcH/2kpne7BIFs7hb0YyYAEGh00
Z4oDFaekEmL5j3GSmPojmREqjVvbHCaHohgBDPQh45SleBQ/I88t8GvcNEqZa2VB
djH9a34uDu/IY5kZTaH2yNisEJq2QNMo6BNjelQTE52u6/53vrBzxgbPgTT1u8Ci
XxST0WUnpIyHemBGZK7cR6WAiGffimXpA3Rr5vH0c6WK2ytIM9BCvtRd9T2o+bOc
GnXNqcV0Rny/j53i4rfbxuynI8Y+FROcASZUPo/IjZQOA/Sp2R0UkMQZGXzLUAB1
x8Ugy1uDe+p+qgBxUVC7AE5+0s0E2R/H4EmzP9HcluiXqMhzPfHwux2ghjfXoyc=
=5274
-----END PGP SIGNATURE-----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]