Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Android nemá jedinečný súbor výnimiek * špecifických * pre samotnú platformu Android, ale skôr využíva výnimky Java a predstavuje niektoré bežne vyskytujúce situácie v prostredí Android. Tieto môžu byť všeobecne kategorizované ako:
1. Bežné výnimky Java: Pri vývoji systému Android je relevantné aj veľa štandardných výnimiek Java:
* `nullPointerexception` (npe): Najbežnejšia výnimka. Vyskytuje sa, keď sa pokúsite získať prístup k členovi (metóde alebo poľa) objektu, ktorý je v súčasnosti „null“.
* `indexoutofBoundSexception`: Hodnote sa, keď sa pokúsite získať prístup k prvku poľa alebo zoznamu pomocou indexu, ktorý je mimo hraníc (napr. Pokus o prístup k 10. prvku poľa 5-prvkov).
* `nelegalArgumentException`: Vyhodený, keď metóda dostane argument, že nie je navrhnutý na zvládnutie.
* `nelegalStateException`: Vyhodený, keď sa metóda nazýva v nevhodnom čase v životnom cykle objektu.
* `classCastException`: Vyhodené, keď sa pokúsite vrhnúť objekt k typu, s ktorým nie je kompatibilný.
* `aritmeticexception`: Vyskytuje sa počas aritmetických operácií, ako je delenie nula.
* `ioException`: Vyskytuje sa počas vstupných/výstupných operácií (napr. Čítanie zo súboru alebo siete).
* `runtimeException`: Základná trieda pre mnohé nezaškrtnuté výnimky (výnimky, ktoré nemusia byť výslovne riešené v kóde). `NullPointeRexception` a` indexoutOfBoundSException` sú príklady.
2. Výnimky špecifické pre Android (alebo situácie, ktoré vedú k spoločným výnimkám): Aj keď to nie je zreteľná výnimka *triedy *, ide o bežné chybové scenáre vo vývoji Android:
* Problémy s sieťou: Výnimky týkajúce sa problémov s pripojením siete sa často prejavujú ako `ioException` alebo podtriedy (napr.„ SocketTimeOutException`, `neznámehostexception`).
* Problémy: Ak sa vaša aplikácia snaží získať prístup k zdroju (napríklad fotoaparátu alebo umiestnenia) bez potrebných povolení, môže viesť k „zabezpečeniu“ alebo k operácii jednoducho zlyháva ticho.
* Problémy s zdrojmi: Pokus o prístup k zdrojom, ktoré neexistujú (napr. Súbor rozloženia alebo kresbateľný), môže viesť k „Resources.NotfoundException“.
* Problémy s súbežnosťou: Problémy súvisiace s multi-threadingom (napr. Rasové podmienky, mŕtvych zámkov) sa často prejavujú ako „nelegálnestateException“ alebo iné neočakávané správanie.
* Problémy s životným cyklom: Metódy volania na aktivite alebo inej zložke v nesprávnom bode jeho životného cyklu môže mať za následok „nelegalStateException“.
* Databázové problémy: Chyby interagujúce s databázami (napríklad SQLite) môžu viesť k `Sqlexception`.
* nízka pamäť: Keď je systém nízka na pamäti, môže to viesť k nehodám, často nepriamo prostredníctvom `outofmemoryerror` (aj keď technicky nie výnimkou rovnakým spôsobom ako ostatní).
Manipulácia s výnimkami:
Android, podobne ako Java, používa bloky `Try-Catch` na zvládnutie výnimiek:
`` `Java
skús {
// kód, ktorý by mohol vyhodiť výnimku
int výsledok =10/0; // To spôsobí aritmeticexception
} catch (aritmeticexception e) {
// Zvládnite aritmeticexception
Log.e („MyApp“, „Division by Zero!“, E);
} catch (výnimka e) {// zachytí akúkoľvek inú výnimku
Log.e ("myApp", "vyskytla sa chyba:" + e.getMessage (), e);
} nakoniec {
// kód, ktorý sa vždy vykonáva, bez ohľadu na to, či sa vyskytla výnimka. (napr. Záverečné zdroje)
}
`` `
Nezabudnite primerane zvládnuť výnimky, aby ste zabránili zlyhaniu vašej aplikácie a poskytli lepšiu používateľskú skúsenosť. Správne spracovanie chýb je rozhodujúce pre robustný vývoj aplikácií pre Android.