Arreglado con excepciones y funcionando