Exception catching and throwing problems, when should try, when should throws