null and error propagation
FEEL language construct
null
FEEL does not throw on a type error: it yields null and keeps evaluating, so null propagates outward and a whole decision can collapse to null because of one missing input or one mistyped path. Nothing marks where it started, which makes this the single most common FEEL debugging problem. The B-FEEL dialect of DMN 1.6 substitutes type defaults instead, which is exactly what the dialect toggle in this evaluator demonstrates.
Syntax elements
| Element | Type | Description |
|---|---|---|
| null | null | the absent value; also the result of most type errors |
Examples
1 + null
null
Try it ↑
{a: 1}.b
null
Try it ↑
"x" + 1
null
Try it ↑
sum([1, null])
null
Try it ↑
if null then 1 else 2
2
Try it ↑
not(null)
null
Try it ↑
Related constructs
path access (.) · instance of · if … then … else
Related functions
Defined by the OMG DMN 1.6 specification, chapter 10.3 (the FEEL grammar and semantics).