Quick-Tip: Kaster feil Clean Way 
 Del 
 Del 
 Del 
 Del 
 
 Dette Cyber mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av 
 Dette innlegget er en del av en serie som heter Hvordan fikse bugs i Flash.Exclusive Freebie. Tr.ace (), en utmerket AS3 Debugging UtilityFixing Bugs i AS3: Innledning 
 Det kommer en tid mens utvikling, spesielt når du utvikler for andre utviklere, at du tenker "jeg burde egentlig forutse denne feilen". Denne Quick Tips vil vise deg hvordan du gjør det - ren måte 
 
 
 
Trinn 1: Kaster
 Ofte du skal prøve å forutse en. bug, men ender opp med bare å spore noe ut. Mens debugging ville du synes det er veldig nyttig å kaste et unntak for å gjøre koden stopp fra utførende videre, eller gi litt mer informasjon om hvorfor skjer det feil. For å gjøre det må du  kaste   La oss si at jeg 'm bygge et bruker klasse; det er en statisk klasse med parametere som navn og kjønn   Nå la oss si at jeg ønsker å fange dersom bruker innganger noe annet enn M eller F i hans /hennes kjønn.   Ved å sende noe sånt User1.gender = "multi", ville jeg blitt kastet en feil i min debugger spesifisere at mitt kjønn er ugyldig   Griper dette konseptet og utvikle det videre, kan jeg også bygge tilpassede feilklasser.   La oss si jeg har en UConnection klasse som håndterer bruker Connection aktivitet som innlogging. Denne innloggingsfunksjonen sender informasjon til en php metode som returnerer en bruker-ID (i dette tilfellet vil jeg kalle det UID), og du trenger å forutse uid være ugyldig (som betyr innloggings kunne ikke utføres).   Hva ville du trenger for å lage første er en tilpasset feil klasse, en UIDError klasse   For det andre en klasse som forventer og håndterer unntak:   Endelig gjennomføring:   Koden inne i catch-blokken går hvis det merknader eventuelle feil blir kastet inni prøve blokken. I dette tilfellet, hvis en UIDError kastes når du forsøker å sette User.uid, deretter "login ugyldig" vil spores. Hvis noen annen type feil blir kastet, da Flash Player vil reagere på den måten det normalt gjør.   Så det du har det, en ren, enkel måte å feil håndtering av koden din, for deg og dine kollegaer 'debugging glede.   Jeg håper du likte denne rask spiss, takk for lesing! 
 en feilmelding til brukeren, noe som betyr at Flash er debug-spilleren vil være i stand til å fange den, så vil konsollen når du eksporterer direkte fra Flash Professional. 
 
 
 pakke {public class Bruker1 {private Static Var snitt: String; privat Static Var _gender: String; //Settere public static funksjon satt navn (navn: String): void {snitt = navn; } Public static funksjon satt kjønn (kjønn: String): void {kjønn = gender.toUpperCase (); if (gender = "F" &! &! gender = "M") {kaste nytt Feil ("Gender må være F eller M"); } else {_gender = kjønn; }} Public static funksjon får navn (): String {return snitt; } Public static funksjon få kjønn (): String {return _gender; }}} 
 
 
 Trinn 2:. Prøv og Catch Feil 
 
 
 
 pakken {public class UIDError strekker Feil {offentlig funksjon UIDError (). void {super ("User ID returnert ugyldig"); }}} 
 pakken {public class User {private static Var _uid: int; //SETTER public static funksjon satt uid (uid: int): void {if (uid == 0) {kaste nytt UIDError (); } else {_uid = uid; }} //Getter public static funksjon få uid (): int {return _uid; }}} 
 //husk dette er pseudo-kode, //det vil ikke fungere som jeg ikke har en login.php //og jeg ikke sender noen variable gjennom post, //for en fungerende versjon referere til prøvene providedpublic funksjon innlogging (un: String, pw: String): void {URLLoader: URLLoader = new URLLoader (); urlloader.addEventListener (Event.COMPLETE, onLogin) urlloader.load (ny URLRequest ("login.php"));} private funksjon onLogin (e: Hendelses) {try {User.uid = e.target.data} catch (e : UIDError) {trace ("logg inn ugyldig"); }} 
 
 
 Konklusjon 
 
 

