is try-catch really necessary?