Make effect playback more robust

Needed to catch exceptions from a larger scope.
Do not refresh viewport in case code failed