Improving Robustness via Disjunctive Statements in Imperative   Programming
  To deal with failures as simply as possible, we propose a new foun- dation for the core (untyped) C, which is based on a new logic called task logic or imperative logic. We then introduce a sequential-disjunctive statement of the form S : R. This statement has the following semantics: execute S and R sequentially. It is considered a success if at least one of S;R is a success. This statement is useful for dealing with inessential errors without explicitly catching them. 
Keehang Kwon, Sungwoo Hur, and Mi-Young Park
cs.PL