2008/12/1 Emilio Tagua <[EMAIL PROTECTED]> > 2008/12/1 Pedro Visintin <[EMAIL PROTECTED]> > >> Hola Gente: >> >> Tema medio filosófico que se aplica a otros lenguajes también. >> >> Cuando tenemos que, por ejemplo, grabar un modelo active record en un >> controller. >> >> No se imaginen cosas raras, el modelo no tiene ninguna cosa mágica dentro, >> solo validaciones. >> >> Qué usamos save! o save? >> > > Yo uso prefiero usar la forma: if record.save > > Tampoco me molestaría si veo: rescue ::ActiveRecord::RecordInvalid > > Pero lamentablemente he visto mucho: > > record.save! > rescue > ... > > Lo cuál me parece terrible, esos rescue generales, que pueden ir desde que > el objeto no se pudo guardar, hasta que falló un lock en la base de datos, o > lo que sea. > > Las excepciones son muy útiles, sin ninguna duda, pero haciendo mal uso de > las mismas se puede lograr muy fácil tener código poco consistente. > > >> >> Pregunta adicional, los errores funcionales (el usuario mete mal los >> dedos) deben ser tratados como excepciones? > > > Pienso que es una decisión de implementación, yo en ese caso no las usaría > porque me parece más legible evitar el uso de lanzar excepciones donde no > sea necesario. > > El otro día hablabamos en #rubyonrails-ar de esto, y cómo en otros > lenguajes era usual ver gente que llenara todo de bloques try/catch, > terminaba siendo una cosa imposible de leer. > > >> >> Todo debería ser una excepción? o se simplifica si los errores funcionales >> (las password no coinciden por ejemplo) son manejados por el código sin >> excepciones y los técnicos (duplicate key entry) son manejados por >> excepciones. >> >> Que piensan? >> > > No creo que todo debería ser una excepción, porque una excepción es algo > que va fuera de lo normal, una excepción. > > Terminando... me gustaría que se lanzara una excepción cuando se envía un > email a la lista haciendo uso de Top Posting [1] :) >
I plead guilty... > > Saludos! > > [1] http://es.wikipedia.org/wiki/Top-posting > > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > >
_______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
