La llamada Mage::throwException
se utiliza para lanzar excepciones de la Mage_Core_Exception
variedad específica . Generalmente se utilizan para presentar mensajes de error al usuario final. Para obtener ejemplos de esto, realice una búsqueda rápida Mage::throwException
en el módulo Mage_Checkout, encontrará muchas instancias en las que el mensaje de error se está traduciendo antes de lanzarlo, ya que finalmente se agregará al objeto de sesión y se mostrará al usuario en La página resultante.
El uso new Exception
o algo así new My_Custom_Exception
normalmente sería donde arroja errores internos a la aplicación, errores que probablemente nunca deberían mostrarse al usuario final. Tal vez los capte y los maneje con gracia (buen uso para un tipo de excepción personalizado en algunos casos), u otras veces terminen atrapados, registrados y finalicen la solicitud con un mensaje de error más genérico que se muestra al usuario.
Nunca lo he usado personalmente, Mage::exception
pero parece ser un intento de patrón que tiene un tipo de excepción único para cada módulo. No se haría ningún daño al usarlo, ya que es esencialmente una fábrica que devuelve una instancia de excepción para el módulo dado, aunque (en el momento de escribir este artículo) no implementa ningún soporte para cosas como anulaciones.