# Expression Tag errors when dividing by 0

**URL:** <https://forum.inductiveautomation.com/t/expression-tag-errors-when-dividing-by-0/105142>\
**Category:** Ignition\
**Tags:** ignition80, vision\
**Created:** [April 15, 2025, 9:04pm UTC](https://forum.inductiveautomation.com/t/expression-tag-errors-when-dividing-by-0/105142 "2025-04-15T21:04:52Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![jmason](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jmason/32/47301_2.png) [@jmason](https://forum.inductiveautomation.com/u/jmason)\
**Post date:** [April 15, 2025, 9:04pm UTC](https://forum.inductiveautomation.com/t/expression-tag-errors-when-dividing-by-0/105142/1 "2025-04-15T21:04:52Z")

</div>

I have an expression tag that occasionally show an error whenever the two tags inside the expression equal zero. Is there away to ignore the error value and just show 0 in the case when the expression is 0\*3600/0? Expression below.

`({Tag1} * 3600) / {Tag2}`

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 15, 2025, 9:12pm UTC](https://forum.inductiveautomation.com/t/expression-tag-errors-when-dividing-by-0/105142/2 "2025-04-15T21:12:38Z")

</div>

The [try()](https://www.docs.inductiveautomation.com/docs/8.1/appendix/expression-functions/logic/try) expression function, perhaps?

---

<div class="post-metadata">

**Author:** ![jmason](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jmason/32/47301_2.png) [@jmason](https://forum.inductiveautomation.com/u/jmason)\
**Post date:** [April 15, 2025, 9:16pm UTC](https://forum.inductiveautomation.com/t/expression-tag-errors-when-dividing-by-0/105142/3 "2025-04-15T21:16:21Z")

</div>

That worked, thank you!

---

<div class="post-metadata">

**Author:** ![jmason](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jmason/32/47301_2.png) [@jmason](https://forum.inductiveautomation.com/u/jmason)\
**Post date:** [April 15, 2025, 9:22pm UTC](https://forum.inductiveautomation.com/t/expression-tag-errors-when-dividing-by-0/105142/4 "2025-04-15T21:22:40Z")

</div>

I spoke too soon, it still shows an error...

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 15, 2025, 9:23pm UTC](https://forum.inductiveautomation.com/t/expression-tag-errors-when-dividing-by-0/105142/5 "2025-04-15T21:23:32Z")

</div>

I can't see what you've done, or what you are getting. (Infinity? That isn't an error.)

---

<div class="post-metadata">

**Author:** ![jmason](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jmason/32/47301_2.png) [@jmason](https://forum.inductiveautomation.com/u/jmason)\
**Post date:** [April 15, 2025, 9:26pm UTC](https://forum.inductiveautomation.com/t/expression-tag-errors-when-dividing-by-0/105142/6 "2025-04-15T21:26:49Z")

</div>

```python
try(({[.]Shots per seconds for Chute2} * 3600) / {[.]Chute2 lbs per hour},0)

```

the error that shows is Error\_TypeConversion("Invalid value: Tag value is Infinity or NaN."), which is what the error I was seeing before.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 15, 2025, 9:29pm UTC](https://forum.inductiveautomation.com/t/expression-tag-errors-when-dividing-by-0/105142/7 "2025-04-15T21:29:41Z")

</div>

So is not an execution exception, which is what `try()` captures, but simply bad quality on infinity.

In this particular case, I'd use the `if()` function to replace the denominator when it is zero. `if({someTag}, {someTag}, 1.0)` (Relying on the fact that numbers are "true" when non-zero.)

---

<div class="post-metadata">

**Author:** ![jmason](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jmason/32/47301_2.png) [@jmason](https://forum.inductiveautomation.com/u/jmason)\
**Post date:** [April 15, 2025, 9:35pm UTC](https://forum.inductiveautomation.com/t/expression-tag-errors-when-dividing-by-0/105142/8 "2025-04-15T21:35:31Z")

</div>

Alright I can confirm this did work for sure, Thank you for your help.

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [April 17, 2025, 11:23am UTC](https://forum.inductiveautomation.com/t/expression-tag-errors-when-dividing-by-0/105142/9 "2025-04-17T11:23:05Z")

</div>

Just another way, as this looks similar to an workcenter efficiency calculation:

```python
if({target} = 0, 0, {actual}/{target})

```

Doing OEEs and efficiencies can be a whole 'nuther topic filled with differences between how normal people calculate things and how corporate calculates things. 🙄
