compat 3.8
refactor
catch exception