alternatives to signals like try/catch