# Catching unrecognized exception

**URL:** <https://www.ruby-forum.com/t/catching-unrecognized-exception/239523>\
**Category:** GNU Radio\
**Created:** [March 3, 2014, 12:56pm UTC](https://www.ruby-forum.com/t/catching-unrecognized-exception/239523 "2014-03-03T12:56:49Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Detlef\_R](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@Detlef\_R](https://www.ruby-forum.com/u/Detlef_R)\
**Post date:** [March 3, 2014, 12:56pm UTC](https://www.ruby-forum.com/t/catching-unrecognized-exception/239523/1 "2014-03-03T12:56:49Z")

</div>

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,

---

<div class="post-metadata">

**Author:** ![Nemanja\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/7bcc69/32.png) [@Nemanja\_S](https://www.ruby-forum.com/u/Nemanja_S)\
**Post date:** [March 20, 2014, 3:59pm UTC](https://www.ruby-forum.com/t/catching-unrecognized-exception/239523/2 "2014-03-20T15:59:14Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Nemanja\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/7bcc69/32.png) [@Nemanja\_S](https://www.ruby-forum.com/u/Nemanja_S)\
**Post date:** [March 20, 2014, 4:36pm UTC](https://www.ruby-forum.com/t/catching-unrecognized-exception/239523/3 "2014-03-20T16:36:03Z")

</div>

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

Hi Nemanja,

your except syntax is wrong, most probably you wanted to use “except  
ExceptionType as e” instead, refer to

> **[8. Errors and Exceptions — Python 2.7.18 documentation](https://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 S. wrote:

> > VALUES (NULL , ‘%s’, ‘%s’, ‘%s’,‘%s’);" % (self.\_db\_name,  
> > – Nemanja Savić
> 
> \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ Discuss-gnuradio  
> mailing list [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [Discuss-gnuradio Info Page](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)

-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1  
Comment: Using GnuPG with Thunderbird - [http://www.enigmail.net/](http://www.enigmail.net/)

iQEcBAEBAgAGBQJTKwqdAAoJEBQ6EdjyzlHtxrcIALIUmmcUY3OJ8Bnr2g9tYhB1  
rQkOyCaES+4b8bocZIyoUTF7M/N5FA9TmITxvnhZgqcvl0Kb1BaFc9F0H9Tbb4w4  
EJtIV6HVLu1jSQAqwMT1jLT3ATbWzH108om/jDx7Wai3Jb64WrVaMxlDuJPJFlK/  
fjVSrGXwcEZRt/8SVbeRmItipo9Y551rNerULo8/4VSiFz30QVyh/zFwNWAGwavA  
xNQPA7OAq4SImyofUGU0E8IsyY9YMcgSlATZYSoKJDbcrFWtrfGJdnuOOV55bgKJ  
l/SouuiObel3WLdzk6861vITRbxyVrPOdsts9ins/G9+Z1wZMKKRz/dh6POevmA=  
=yTTM  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![Nemanja\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/7bcc69/32.png) [@Nemanja\_S](https://www.ruby-forum.com/u/Nemanja_S)\
**Post date:** [April 15, 2014, 3:41pm UTC](https://www.ruby-forum.com/t/catching-unrecognized-exception/239523/4 "2014-04-15T15:41:42Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Nemanja\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/7bcc69/32.png) [@Nemanja\_S](https://www.ruby-forum.com/u/Nemanja_S)\
**Post date:** [April 15, 2014, 4:28pm UTC](https://www.ruby-forum.com/t/catching-unrecognized-exception/239523/5 "2014-04-15T16:28:55Z")

</div>

It’s commented line inside the function called only once inside  
constructor, and never again 🙂

---

<div class="post-metadata">

**Author:** ![Nemanja\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/7bcc69/32.png) [@Nemanja\_S](https://www.ruby-forum.com/u/Nemanja_S)\
**Post date:** [April 15, 2014, 4:23pm UTC](https://www.ruby-forum.com/t/catching-unrecognized-exception/239523/6 "2014-04-15T16:23:35Z")

</div>

The ‘(65)’ looks to be the line number where the error occured. Notice  
that previously the line number was ‘(62)’ which probably means that the  
error is coming from line 65 of one of the files you have been editing.

Mike

–  
Mike J. M0MIK BSc MIET  
Email: removed\_email\_address@domain.invalid  
Web: [http://scanoo.com](http://scanoo.com)

---

<div class="post-metadata">

**Author:** ![Nemanja\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/7bcc69/32.png) [@Nemanja\_S](https://www.ruby-forum.com/u/Nemanja_S)\
**Post date:** [April 15, 2014, 4:33pm UTC](https://www.ruby-forum.com/t/catching-unrecognized-exception/239523/7 "2014-04-15T16:33:04Z")

</div>

-----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 S. wrote:

> > > > db\_logger2 (62)\>]: caught unrecognized exception
> > > > 
> > > > > The structure of the block is really simple:  
> > > > > mdb.Error, e: print "Unexpected error while trying to
> > 
> > [Discuss-gnuradio Info Page](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)

-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1  
Comment: Using GnuPG with Thunderbird - [http://www.enigmail.net/](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-----

---

<div class="post-metadata">

**Author:** ![Nemanja\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/7bcc69/32.png) [@Nemanja\_S](https://www.ruby-forum.com/u/Nemanja_S)\
**Post date:** [April 16, 2014, 10:52am UTC](https://www.ruby-forum.com/t/catching-unrecognized-exception/239523/8 "2014-04-16T10:52:13Z")

</div>

the last message was not clear.

So, I made sql syntax error and run the program, with my old syntax, and  
exception was caught, so the error should be somewhere else.

---

<div class="post-metadata">

**Author:** ![Nemanja\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/7bcc69/32.png) [@Nemanja\_S](https://www.ruby-forum.com/u/Nemanja_S)\
**Post date:** [April 16, 2014, 10:46am UTC](https://www.ruby-forum.com/t/catching-unrecognized-exception/239523/9 "2014-04-16T10:46:54Z")

</div>

Hello again,

Marcus, you are right, my syntax is not any more correct but there is  
backwards compatibility. I initiated error on my own and everything  
works  
fine, so I would say there should be rather something more serious.

---

<div class="post-metadata">

**Author:** ![Nemanja\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/7bcc69/32.png) [@Nemanja\_S](https://www.ruby-forum.com/u/Nemanja_S)\
**Post date:** [April 16, 2014, 11:53am UTC](https://www.ruby-forum.com/t/catching-unrecognized-exception/239523/10 "2014-04-16T11:53:38Z")

</div>

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

Hi Mike,  
it’s not. It’s part of the block name ;):

gnuradio-runtime/include/gnuradio/thread/thread\_body\_wrapper.h:63  
std::cerr \<\< “thread[” \<\< d\_name \<\< "]: "  
\<\< “caught unrecognized exception\n”;

Greetings,  
Marcus

On 15.04.2014 16:21, Mike J. wrote:

> > was encapsulated by try and except but nothing was caught.  
> > % (self.\_db\_name, self.\_det\_table, sensor\_id, vendor,
> 
> try and catch not only the database related errors?
> 
> > > > > I have two blocks of db\_logger type and it looks like only
> > > > > 
> > > > > > def handle\_msg(self, msg): message =  
> > > > > > print msg\_lines print 50\*‘-’ print “Error %d: %s” %
> > > 
> > > [Discuss-gnuradio Info Page](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)

-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1  
Comment: Using GnuPG with Thunderbird - [http://www.enigmail.net/](http://www.enigmail.net/)

iQEcBAEBAgAGBQJTTlLJAAoJEBQ6EdjyzlHt2n0H/iWnLcFLeHfVVMGEZhmhwLoF  
pQKQYPyMFSsSjUJkGgDZepeJJb5/VIGwcwwp2sdhIJ3CuVqpeVjkg9PSOol+aBa0  
akS48lZdeOySfLoxzC4e/KX9lmr2cyQ9nsD5oOKRDHd9gkkmKi3yztMBpFRHoQWj  
jO/EBDnSHP6dMdmbXhii05TdADBt99oSxBbyBvI+pSvZCuosROiKi0cN0jKVbj0L  
v+Y7m5yYanXyGpZqe5pGwR0ZkWpPPw6uEn7bKYu6Uh/TI6e26xBN4AfkrxnYRcK+  
sFq/AVx8ilgGUjEzHUl7jJFyDcapj0W4w5ZFmKbCU2d3BGWY/OyLmxOVFo/7S1E=  
=Xlqf  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![Nemanja\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/7bcc69/32.png) [@Nemanja\_S](https://www.ruby-forum.com/u/Nemanja_S)\
**Post date:** [April 16, 2014, 11:56am UTC](https://www.ruby-forum.com/t/catching-unrecognized-exception/239523/11 "2014-04-16T11:56:36Z")

</div>

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

Hi Nemanja,

ah that’s interesting, I’ve tried and for me, it fails. Strange. I’m  
going to investigate that.

However, if that syntax is ok, then I’m out of ideas. You’re not  
giving out all too much details, though. When excatly does this  
exception occur? Does your block work at all? Does it work when  
commenting out functionality? How about print “done this and that”  
debugging? Do your two blocks share the same database connection (if  
that’s the case, are you doing multithreading correctly?)?

My only guess would still be that one of your except clauses throws an  
Exception. Maybe “print message”, if message = pmt.symbol\_to\_string()  
failed?

By the way, “caught unrecognized exception” comes from the C++ domain,  
it happens when there is an uncaught C++ exception, which might have  
nothing to do with your executed python.

What you can do is run your program in a debugger, i.e.

$ gdb --args python your\_python\_flowgraph.py  
…  
(gdb)run  
…  
interrupt (ctrl-z), try to set a breakpoint at  
gnuradio-runtime/include/gnuradio/thread/thread\_body\_wrapper.h:61 ,  
then continue running your program  
(gdb)cont  
…  
and see what happened prior to that call:  
(gdb)bt

Greetings,  
Marcus

On 16.04.2014 10:45, Nemanja S. wrote:

> Also, don’t do system.exit() in a multithreaded application,
> 
> > > > caught unrecognized exception  
> > > > msg\_lines[2] sensor\_type = msg\_lines[3] time = msg\_lines[1]  
> > > > message print msg\_lines print 50\*‘-’
> > > > 
> > > > a try and catch not only the database related errors?
> > > > 
> > > > > > > I have two blocks of db\_logger type and it looks like
> > > > > > > 
> > > > > > > > mdb.Error, e: print "Unexpected error while trying
> > > > > 
> > > > > > >

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ Discuss-gnuradio

> > > > > mailing list [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> > > > > [Discuss-gnuradio Info Page](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)

-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1  
Comment: Using GnuPG with Thunderbird - [http://www.enigmail.net/](http://www.enigmail.net/)

iQEcBAEBAgAGBQJTTlOZAAoJEBQ6EdjyzlHtJ70IAIc5r5BpgQATgL4bTjSs6Lcl  
YyNf3qJD8S6YtwdOjgDM11HWDlxgJ2tv+tn9jHAa1n74RhlGKGJv5WYzNB5j4xBN  
6hWEj2vETmjk3H7bsBH4MmW2AT0Ff/5618qIiULsql8NcMwGN3sLj4W+CDNYJr6u  
fcv6sofspqxra1l0lk05vSoKvuUYAFcEUP33SmY2BO7ZAg/40hvBtaL6xW8U+m5t  
9xtCv7CbaB0sDoAHxCh+v3VSlXeGHz/JXcnNXohVYzY4ky4sqaIJkfU7MglZE418  
yXoVHffCuRpg9izRVplB9k3s17puYF8ArPet9h2MiXUzBjx7etHvbD0yJs0QyUU=  
=Yepe  
-----END PGP SIGNATURE-----
