# runNamedQuery returns None on all failures?

**URL:** <https://forum.inductiveautomation.com/t/runnamedquery-returns-none-on-all-failures/76604>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [July 19, 2023, 7:24pm UTC](https://forum.inductiveautomation.com/t/runnamedquery-returns-none-on-all-failures/76604 "2023-07-19T19:24:21Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Colin\_Quinn](https://avatars.discourse-cdn.com/v4/letter/c/f475e1/32.png) [@Colin\_Quinn](https://forum.inductiveautomation.com/u/Colin_Quinn)\
**Post date:** [July 19, 2023, 7:24pm UTC](https://forum.inductiveautomation.com/t/runnamedquery-returns-none-on-all-failures/76604/1 "2023-07-19T19:24:21Z")

</div>

Hello,

I have an application that relies on some database feedback whenever I try to query it. I have all of my queries running through the `system.db.runNamedQuery` function and all is well when the query is successful. However some times the query fails and I cannot get any useful information out of it. According to the docs I see that it normally returns out the pyDataSet, which is true for my set up, but it does not mention anything about failed queries.

Hopefully I am just missing something but it appears that failed queries just return `None`.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 19, 2023, 7:28pm UTC](https://forum.inductiveautomation.com/t/runnamedquery-returns-none-on-all-failures/76604/2 "2023-07-19T19:28:31Z")

</div>

A quick look at docs and implementation suggest it can throw an Exception.

What is a "failed query" in your case?

---

<div class="post-metadata">

**Author:** ![Colin\_Quinn](https://avatars.discourse-cdn.com/v4/letter/c/f475e1/32.png) [@Colin\_Quinn](https://forum.inductiveautomation.com/u/Colin_Quinn)\
**Post date:** [July 19, 2023, 7:33pm UTC](https://forum.inductiveautomation.com/t/runnamedquery-returns-none-on-all-failures/76604/3 "2023-07-19T19:33:49Z")

</div>

I have the following code where the query has some constraints around whether "thing 1" can be added to "thing 2", those are all handled in the database at the moment and I would like to be able to display the reasoning sent from the database

```auto
try:
    res = system.db.runNamedQuery('insert-thing-into-thing', params)
    producedUUIDs.append(res)
except:
	self.props.text = res
	functions.show_error_popup('ERROR', res)

```

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 19, 2023, 7:50pm UTC](https://forum.inductiveautomation.com/t/runnamedquery-returns-none-on-all-failures/76604/4 "2023-07-19T19:50:00Z")

</div>

Try catching exceptions like this:

> [@Catch IOException?](https://forum.inductiveautomation.com/t/catch-ioexception/18612/3):
>
> Consider using two except blocks, as jython’s standard Exception won’t catch pure java exceptions. Like so: import java.lang.Exception try: # something something something except Exception, e: # jython exception except java.lang.Exception, e: # java exception

---

<div class="post-metadata">

**Author:** ![Colin\_Quinn](https://avatars.discourse-cdn.com/v4/letter/c/f475e1/32.png) [@Colin\_Quinn](https://forum.inductiveautomation.com/u/Colin_Quinn)\
**Post date:** [July 19, 2023, 7:51pm UTC](https://forum.inductiveautomation.com/t/runnamedquery-returns-none-on-all-failures/76604/5 "2023-07-19T19:51:31Z")

</div>

I'm realizing that I was trying to do too many things within that 1 query and that I need to separate out the verification portions into other queries that I can be more verbose with the query results. Thanks for the fast response!

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [July 20, 2023, 3:32am UTC](https://forum.inductiveautomation.com/t/runnamedquery-returns-none-on-all-failures/76604/6 "2023-07-20T03:32:33Z")

</div>

PS. @pturmel uses `java.lang.Throwable` now, I believe, which `Exception` inherits from. Although, it looks like `Error` and `Exception` inherit from `Throwable`, where the description in `Error` says code shouldn't usually try to catch and handle these errors 🤷‍♂️
