I've come across the following scenario in work. Consider the following block:
Begin
Select Max(Column) from Table where some condition;
Exception
When No_Data_Found then
log into an audit table
End;
when there are actually no rows found, the control of execution is not getting diverted into the exception block but is returning NULL.
When tried executing without the MAX function, the control of execution is caught in the exception block.
Can anyone please explain this behaviour?