Documentación de Flash CS3 |
|||
| Programación con ActionScript 3.0 > Gestión de errores > Tipos de errores | |||
Al desarrollar y ejecutar aplicaciones, se detectan diferentes tipos de errores, con su correspondiente terminología. En la tabla siguiente se presentan los principales tipos de errores y sus términos relacionados:
catch más apropiada. Por ejemplo, el fragmento de código siguiente genera un error en tiempo de ejecución porque no se llama al método browse() antes de que el programa intente cargar un archivo:
var fileRef:FileReference = new FileReference();
try
{
fileRef.upload("http://www.yourdomain.com/fileupload.cfm");
}
catch (error:IllegalOperationError)
{
trace(error);
// Error nº 2037: Se ha llamado a las funciones en una secuencia incorrecta o una llamada anterior
// no se ha realizado correctamente.
}
En este caso, un error en tiempo de ejecución se genera sincrónicamente, ya que Flash Player determinó que el método browse() no se llamó antes de intentar cargar el archivo.
Para más información sobre la gestión de errores sincrónicos, consulte Gestión de errores sincrónicos en una aplicación.
Considérese el ejemplo de error sincrónico relativo a la carga de archivo presentado anteriormente. Si se llama correctamente al método browse() antes de iniciar una carga de archivo, Flash Player distribuirá varios eventos. Por ejemplo, cuando se inicia una carga, se distribuye el evento open. Si la operación de carga de archivo finaliza correctamente, se distribuye el evento complete. Puesto que la gestión de eventos es asincrónica (es decir, que no se produce en momentos específicos, conocidos y designados previamente), hay que utilizar el método addEventListener() para detectar estos eventos específicos, tal como se muestra en el código siguiente:
var fileRef:FileReference = new FileReference();
fileRef.addEventListener(Event.SELECT, selectHandler);
fileRef.addEventListener(Event.OPEN, openHandler);
fileRef.addEventListener(Event.COMPLETE, completeHandler);
fileRef.browse();
function selectHandler(event:Event):void
{
trace("...select...");
var request:URLRequest = new URLRequest("http://www.yourdomain.com/fileupload.cfm");
request.method = URLRequestMethod.POST;
event.target.upload(request.url);
}
function openHandler(event:Event):void
{
trace("...open...");
}
function completeHandler(event:Event):void
{
trace("...complete...");
}
Para más información sobre la gestión de erorres asincrónicos, consulte Respuesta al estado y a los eventos de error.
catch) que pueda responder a ellos. Si la aplicación genera un error y no se encuentran controladores de eventos o sentencias catch en el nivel actual o superior para gestionar el error, éste se considera una excepción no capturada. De forma predeterminada, Flash Player omite en tiempo de ejecución los errores no capturados e intenta seguir reproduciéndose si el error no detiene el archivo SWF actual, ya que los usuarios no tienen por qué ser capaces de resolver el error necesariamente. El proceso de omitir un error no capturado se denomina "generar errores sin mensaje" y puede complicar la depuración de aplicaciones. La versión de depuración de Flash Player responde a un error sin capturar mediante la finalización del script actual y la visualización de dicho error en la salida de la sentencia trace, o bien mediante la especificación del mensaje de error en un archivo de registro. Si el objeto de excepción es una instancia de la clase Error o una de sus subclases, se invocará el método getStackTrace() y se mostrará la información de seguimiento de la pila en la salida de la sentencia trace o en un archivo de registro. Para más información sobre la versión de depuración de Flash Player, consulte Utilización de la versión de depuración de Flash Player.
Flash CS3
Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios
Página actual: http://livedocs.adobe.com/flash/9.0_es/main/00000097.html