Llega un momento durante el desarrollo, especialmente al desarrollar para otros desarrolladores, que crees que "realmente debería anticipar este error". Este Consejo rápido le mostrará cómo hacerlo: de manera limpia.
A menudo, tratará de anticipar un error pero terminará simplemente rastreando algo. Durante la depuración, le resultará realmente útil lanzar una excepción para hacer que su código deje de ejecutarse más, o dar más información sobre por qué está ocurriendo el error. Para hacer eso necesitas lanzar un error para el usuario, lo que significa que el reproductor de depuración de Flash podrá detectarlo, al igual que la consola al exportar directamente desde Flash Professional.
Digamos que estoy construyendo una clase de usuario; Es una clase estática con parámetros como nombre
y género
.
Ahora digamos que quiero capturar si el usuario ingresa algo distinto de M o F en su género:
package public class User1 private static var _name: String; private static var _gender: String; // SETTERS public static function set name (name: String): void _name = name; conjunto de funciones públicas estáticas género (género: cadena): void gender = gender.toUpperCase (); if (gender! = "F" && gender! = "M") arroje un nuevo error ("Gender debe ser F o M"); else _gender = gender; función estática pública obtener nombre (): String return _name; función estática pública get gender (): String return _gender;
Al enviar algo como User1.gender = "multi"
, Me enviarían un error en mi depurador especificando que mi género no es válido.
Al tomar este concepto y desarrollarlo aún más, también puedo crear clases de error personalizadas.
Digamos que tengo una clase UConnection que maneja la actividad de Conexión de Usuario como inicio de sesión. Esta función de inicio de sesión envía información a un método php que devuelve un ID de usuario (en este caso lo llamaré uid) y necesita anticipar que el uid no es válido (lo que significa que no se pudo realizar el inicio de sesión).
Lo que necesitaría crear primero es una clase de error personalizada, una clase UIDError.
paquete clase pública UIDError extiende Error función pública UIDError (): void super ("ID de usuario devuelta inválida");
En segundo lugar, una clase que anticipa y maneja la excepción:
package public class User private static var _uid: int; // SETTER función estática pública set uid (uid: int): void if (uid == 0) lanza un nuevo UIDError (); else _uid = uid; // Función estática GETTER pública obtener uid (): int return _uid;
Finalmente la implementación:
// tenga en cuenta que esto es un pseudo código, // no funcionará ya que no tengo un login.php // y no envío ninguna variable por correo postal, // para una versión que funcione, consulte las muestras proporcionadas inicio de sesión de función pública (un: String; pw: String): void urlloader: URLLoader = new URLLoader (); urlloader.addEventListener (Event.COMPLETE, onLogin) urlloader.load (new URLRequest ("login.php")); función privada onLogin (e: Event) try User.uid = e.target.data catch (e: UIDError) trace ("login inválido");
El código dentro de la captura
el bloque se ejecuta si observa algún error que se está lanzando dentro del tratar
bloquear. En este caso, si un UIDError
se lanza al intentar configurar Usuario.uid
, entonces "inicio de sesión no válido"
será rastreado. Si se produce cualquier otro tipo de error, Flash Player reaccionará de la forma en que lo hace normalmente..
Así que ahí lo tienen, una forma limpia y sencilla de error al manejar su código, para usted y para el placer de depurar de sus compañeros de trabajo..
Espero que te haya gustado este consejo rápido, gracias por leer.!