From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
wiebe@CARYA

Error Ring Error in

Status: Declined

National Instruments will not be implementing this idea. Given the execution overhead of the node, the Error Ring should be called conditionally in a case structure whenever its value is needed at run-time.

It would help if the Error Ring had an error in.

Error Ring Error In.PNG

 

Now we always have to use a merge error (A).

 

This does hurt performance as well (B), as Error Cluster From Error code is always called (and isn't lightweight).

 

With an error in, no more merge errors (C)!

 

And performance gain (D) as a bonus.

 

Guess this input is deliberately not there? Can't wait to hear the arguments against it...

17 Comments
AristosQueue (NI)
NI Employee (retired)

> Now we always have to use a merge error (A).

 

Not exactly... you could put the error ring inside a case structure.

 

This idea is essentially a duplicate of this one:

https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Conditional-Error-Ring/idi-p/2351100/page/2#comments

AristosQueue (NI)
NI Employee (retired)

No arguments against. Just didn't include it in the original, and the case structure has sufficed, so no priority, especially given the annoyance of the mutation and save for previous code.

wiebe@CARYA
Knight of NI

>This idea is essentially a duplicate of this one:

https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Conditional-Error-Ring/idi-p/2351100/page/2#comments

 

That one is with Booleans (didn't find it when searching), it won't help with the merge errors.

 

If the XNode would accept both (maybe even at the same time?), that would be great! Then we can conditionally add it, but it won't previous existing errors.

Darren
Proven Zealot
Status changed to: Declined

National Instruments will not be implementing this idea. Given the execution overhead of the node, the Error Ring should be called conditionally in a case structure whenever its value is needed at run-time.

wiebe@CARYA
Knight of NI

That's unexpected.

 

The proposed solution of putting it in a case structure will clear warnings. The case in the XNode could prevent that. So to avoid automatic performance, clear wire flow and convenience, we need to wrap each and every error ring in a case structure, AND use a merge error.

 

I'm confused.

 

Not sure what the downside is of the proposed idea? (except "save to previous", which hopefully should not stop progress.)

AristosQueue (NI)
NI Employee (retired)

Darren was trying to state the workaround, not state a reason why this wasn't going to be done.

wiebe@CARYA
Knight of NI

Declined: National Instruments will not be implementing this idea. Given the execution overhead of the node, the Error Ring should be called conditionally in a case structure whenever its value is needed at run-time.

 

Sounded like it to me.

 

So what is the reason?

TomOrr0W
Member

You mention putting the ring in a case structure clearing warnings.  How would that be?

 

If you are appending an error to the wire, the error will override the warning.  If you are appending a warning to the wire, the previous warning will take priority.  If the wire already has an error, the error case would be called and the previous error would pass through.  This would be the case regardless of whether you use a case structure, a select node, or your idea.

wiebe@CARYA
Knight of NI

You're right. I was already caught up a bit on the conditional error ring idea:

Error Ring Clear Warnings.PNG

Then the warning will be lost, even if the ring produces no error. Maybe in some corner cases it will still be an issue, but normally it won't.

 

The hole optimization problem is not really an issue altogether, as it will only save time when there error in is true. There's usually no need to optimize for exceptional (error) cases. It will help the flow and speed up development though.

Hooovahh
Proven Zealot

As much as I'd use this, I agree that leaving it up to the developer might be the best way to handle this.  Forcing them to add a merge error and then figure out what error should take priority is probably a good idea, rather than having a brainless developer (myself included) just wiring in errors instead of thinking about why and the consequences.