what's the recommended approach for performing the equivalent of a catch around apply_svalue()?
The most common approach is to use safe_apply_svalue(), it unfortunately only supports two error handling modes; either passing errors along to master()->handle_error(), or ignoring them entirely. If you want some other behaviour, you will need to set up the error recovery context yourself (cf interpret.c:safe_apply_svalue()).
bill