C# supports two boolean or operators: the single bar | and the double-bar ||.
The difference is that | always checks both the left and right conditions, while || only checks the right-side condition if it’s necessary (if the left side evaluates to false).
This is significant when the condition on the right-side involves processing or results in side effects. (For example, if your ErrorDumpWriter.Close method took a while to complete or changed something’s state.)