Alternative to Exceptions – Using VALUE Constructor Expressions
If no record is found through the row specification, you can receive an empty line or an alternative line instead of an exception.
For this, wrap the table expression inside a VALUE constructor expression:
...VALUE #( <table>[<row_specification>]
DEFAULT <alternative_table_expression> | OPTIONAL )
Alternative with DEFAULT
If the original table expression fails, the value of the alternative expression is used.
Of course, that alternative can itself contain another VALUE operator...
Initial Line with OPTIONAL
If the keyword OPTIONAL is placed after the table expression within VALUE, an initial line is returned when no row is found.