añadido más control de excepciones