Ejemplo de la primera posibilidad:
Código:
Ejemplo de la segunda posibilidad:// Creamos un objeto Error para cada tipo de error a manejar
var argumentError = new Error("argumentError");
// ...creamos todos los necesarios...
// Código de la aplicación
function foo(string) {
// Levantamos el error
if(typeof(string) != "string") {
throw argumentError;
}
}
Código:
Con el segundo método, si el programador que hace uso de la librería no es muy habilidoso y comete muchos errores en el uso de la librería se crearán un montón de objetos Error y muchos de ellos repetidos. ¿El colector de basura es suficientemente fiable? ¿Se eliminan los nuevos objetos creados al perder toda referencia en tiempo de ejecución o se hace al final?// Código de la aplicación
function foo(string) {
// Creamos y levantamos el error
if(typeof(string) != "string") {
throw new Error("ArgumentError");
}
}
Haciendo uso del primer método se crean los objetos necesarios y se mantienen durante toda la ejecución, pero tiene un problema y es que si se modifica por error (o expresamente) el mensaje de error repercutirá en todos los errores posteriores del mismo tipo.
¿Cuál es el más indicado?¿Cuál utilizan los navegadores IE y Firefox?
Gracias de antemano.

