Domov Osobní finance Programování Java: Když se v javových aplikacích vyskytnou chyby

Programování Java: Když se v javových aplikacích vyskytnou chyby

Obsah:

Video: Peter Joseph - Pathologie sociale - Z-Day 2010 2025

Video: Peter Joseph - Pathologie sociale - Z-Day 2010 2025
Anonim

Chyby v aplikacích Java mohou nastat v různých časech. Můžete však obecně klasifikovat, pokud k chybě dojde ve dvou kategoriích, v čase kompilace a době běhu, jak je popsáno v následujících částech.

Chyby při kompilaci

Kompilátor převede kód aplikace na kód Java byte. Během tohoto procesu trvá člověk čitelný kód, který píšete, a převede jej na něco, co Java Runtime Environment (JRE) chápe.

Pro tento proces musí kompilátor analyzovat kód, což znamená, že kód čte způsobem, který jednoznačně přesně určuje, co má aplikace dělat, když chtějí to udělat a jak chcete, aby úkol splnil. Pokud porušujete pravidla pro psaní jednoznačného kódu, kompilátor zobrazí chybovou zprávu. Tato zpráva je vlastně druh výjimky.

Parsování znamená přečíst zadaný vstup, například kód ve formě čitelné pro člověka, a přeměnit jej na něco jiného, ​​jako je kód Java byte. Aplikace může také analyzovat vstup uživatele. Například uživatel může napsat řetězec, který se změní na číslo aplikace.

Parsování je tedy čtením nějakého typu vstupu, interpretováním tohoto vstupu určitým způsobem a následným produkováním výstupu založeného na interpretovaném vstupu. Analyzátor generuje chybu, pokud vstup není očekáván.

Například pokud uživatel zadá řetězec obsahující písmeno C a očekáváte, že řetězec obsahující číslo, například 123, analyzátor generuje výjimku říká, že vstup je nesprávný.

Nejjednodušší je zpracovat chyby při kompilaci, protože kompilátor obvykle říká, co je špatně a kde došlo k chybě. Dokonce i když informace nejsou přesné, kompilátor přinejmenším vás přivede do pravé oblasti rozbitého kódu, takže můžete hledat chybu, kterou obsahuje.

Chcete-li zajistit, aby každý přesně chápal, jak má jazyk Java pracovat, vývojáři pro něj vytvoří specifikaci. Tato specifikace obsahuje prvky jazyka ve zvláštním jazyce nazývaném Backus-Naur Form (BNF). Použití metody BNF je velmi přesná metoda popisu jazyka tak, aby nikdo nehrozil riziko nesprávného výkladu.

U vzorku BNF pro jazyk Java můžete vidět na katedře informatiky - Daimi. Nebojte se moc, abyste mohli číst tuto specifikaci. Většina vývojářů se nikdy neučí interpretovat BNF pro jazyky, které používají - to je doména vývojářů kompilátorů.

Chyby při běhu

Kompilátor jazyka Java nemůže nalézt všechny chyby ve vašem kódu. Je-li forma kódu správná (to znamená, že jste neudělali žádné chyby při psaní prvků, které vytvářejí aplikaci), kompilátor nenalezne chybu.

Například pokud inicializujete číselnou hodnotu na 5 místo 4, kompilátor nemůže najít chybu pro vás, protože kompilátor nemá tušení, že jste opravdu chtěli zadat typ 4. Tyto chyby vytvářejí runtime chyby - ty chyby, které se vyskytnou v určitém okamžiku během provádění aplikace.

Chyby při běhu mohou nastat v nejrůznějších časech. Některé chyby se pravděpodobně vyskytují v určitých časech. Následující seznam obsahuje některé nápady, kdy se pravděpodobně vyskytnou chyby runtime:

  • Inicializace: Když se aplikace spustí nejprve - předtím, než představuje nějaké rozhraní k uživateli nebo provádí jakoukoli užitečnou práci - prochází fázi inicializace. Toto je při nastavování proměnné na nesprávný typ nebo pokusu o použití proměnné před inicializací to si všiml. Během inicializace dochází k mnoha chybám souvisejícím s zdroji, protože většina aplikací během této doby otevře požadované zdroje.

  • Provozní režim: Po inicializaci aplikace je v provozním režimu. Pokud má uživatelské rozhraní, začne pracovat s uživatelem. Toto je doba, kdy uživatelský vstup má nejdůležitější význam.

    V tomto okamžiku najdou také nesprávně inicializované proměnné, protože uživatel (nebo příjemce výstupu aplikace, například systém) uvidí, že výstup je nesprávný. Požadavky uživatelů na zdroje, například datový soubor, také vytvářejí chyby během této doby.

  • Zpracování na pozadí: Většina chyb zpracování na pozadí pochází z prostředí (například ztráta síťového připojení), chybějící zdroje (například ztracený soubor), nesprávně inicializované proměnné nebo chyby v tom, k provedení úkolu. Některé úkoly jsou častěji prováděny na pozadí než jiné.

    Tisk dokumentu nebo stahování zdrojů z Internetu se běžně provádí na pozadí, zatímco uživatel nadále pracuje s aplikací v popředí.

  • Vypnutí: Pokud uživatel (včetně systémových účtů) informuje aplikaci, že již není potřeba, aplikace prochází fází vypnutí. Během této fáze zavírání aplikace zavře soubory a provádí jiné úklidové práce, které zajistí, že aplikace nezanechává nepořádek pro operační systém.

    Nejčastější chyby, ke kterým může dojít během této fáze, nejsou uvolnění prostředků, které aplikace používala, a neukládání dat na disk. Samozřejmě se mohou kdykoli vyskytnout chyby kódování a tato fáze provozu není výjimkou. Dalo by se řešit aplikaci uzavřít pět souborů, když jen čtyři z nich jsou skutečně otevřené.

JRE zobrazí většinu chyb při běhu, které vám detekuje jako výjimky. JRE však nebude chybět ve vaší aplikaci.Musíte se také podívat na výstup aplikace, abyste zjistili, zda výstup odpovídá očekáváním, které máte pro daný vstup.

Navíc je důležité podívat se na stav všech zdrojů, které používáte k zajištění toho, že nejsou nějakým způsobem poškozeny. Například je třeba zajistit, aby všechna data, která by měla uložena do souboru, skončila v souboru, když se aplikace vypne.

Java 8 má větší důraz na zabezpečení, což znamená, že při práci s vaší aplikací uvidíte více instancí SecurityException.

Zvýšení bezpečnostních výjimek neznamená, že je váš kód vadný nebo java 8 je vyplněna chybami - to znamená, že Java 8 automaticky vyhledá a upozorní na problémy, které by mohly způsobit bezpečnostní problémy, když lidé používají vaši aplikaci.

Dokumentace SecurityException se zobrazí v jazyce Java. síť. Samozřejmě, budete chtít vědět, o čem je celý hubbub.

Programování Java: Když se v javových aplikacích vyskytnou chyby

Výběr redakce

Data Skladování v mezipodnikovém nastavení - dummy

Data Skladování v mezipodnikovém nastavení - dummy

Datové sklady jsou obvykle soukromé záležitosti. Dokonce i když externí údaje o vašich konkurentů jsou součástí vašeho prostředí, stále je to datový sklad vaší společnosti, postavený pro vaši společnost a prospěch. Zajímavý trend - ten, který je jistě patrný na úrovni výkonné rady, hlavně proto, že tito lidé jsou v tomto směru řídícími společnostmi ...

Dat Skladování: od nestrukturovaných informací ke strukturovaným datům - figuríny

Dat Skladování: od nestrukturovaných informací ke strukturovaným datům - figuríny

Nejprve strukturovaných dat, kdy obchodní analytik využívá datové sklady jako bránu do odpovídajících nestrukturovaných podpůrných informací. Stejně jednoduše můžete podniknout opačnou cestu k jednotnému přístupu k business intelligence. Předpokládejme, že procházíte internetem nebo firemním intranetem, ...

Data skládání: Dashboardy a Scorecards - figuríny

Data skládání: Dashboardy a Scorecards - figuríny

EIS), což je předchůdce boomu datového skladování v devadesátých letech. Včasná technologie EIS získala smíšené uvítání a něco vybledlo v blízkosti konce desetiletí. Někteří lidé proto považují EIS za předchůdce, nikoliv za příbuzného ...

Výběr redakce

Počítání objektů v datovém toku - dummies

Počítání objektů v datovém toku - dummies

Učící se počítat objekty v proudu vám může pomoci najít nejčastější položek nebo klasifikace obvyklých a neobvyklých událostí. Tento algoritmus využívá funkce hash a přibližné náčrty. Dělá to po filtrování duplicitních objektů a počítání různých prvků, které se objevily v datovém toku. Tuto techniku ​​používáte k řešení problémů, jako je ...

Data dostupná za spotřebitelskými daty - figuríny

Data dostupná za spotřebitelskými daty - figuríny

Ne všechny údaje, které budete potřebovat, jsou o lidech. Možná se více zajímáte o firmy nebo neziskové organizace. Možná máte zájem o bouřky, ananas nebo mosty. Žádný problém. Komerční zdroje mohou poskytnout údaje o všech těchto věcech a mnoho dalších. Pokud jsou k dispozici údaje, které považujete za dostačující k tomu, abyste zaplatili za ...

Sloupcové údaje v NoSQL - dummies

Sloupcové údaje v NoSQL - dummies

Jsou v systému NoSQL podobné při tradičním relačním DBMS. Koncepce řádků a sloupců stále existují. Před načtením dat do databáze definujete také skupiny sloupců, což znamená, že struktura dat musí být předem známá. Ukládání sloupců však uspořádá data odlišně než relační databáze. Místo toho ...

Výběr redakce

Jak se připojit ke sdílené položce pomocí nástroje Finder - dummies

Jak se připojit ke sdílené položce pomocí nástroje Finder - dummies

Po připojení k doméně v síti , můžete získat přístup ke všem síťovým sdíleným položkám prostřednictvím vyhledávače. Chcete-li použít nástroj Finder k přístupu ke sdílené položce domény, postupujte takto: Klepněte na tlačítko Finder (Vyhledat). Zvolte možnost Přejít → Připojit k serveru. Zobrazí se dialogové okno Připojit k serveru. Zadejte cestu, která vede k požadované sdílené položce serveru ...

Jak se připojit k bezdrátové síti v systému Windows 10 - figuríny

Jak se připojit k bezdrátové síti v systému Windows 10 - figuríny

Počítač se systémem Windows je přímočarý. Systém Windows automaticky rozpozná všechny bezdrátové sítě, které jsou v dosahu, a zobrazuje je v seznamu, když klepnete na ikonu Bezdrátové připojení ve spodní části obrazovky. Výběr bezdrátové sítě v systému Windows 10. Chcete-li se připojit k síti, stačí ...

Jak Crack iOS hesla - dummies

Jak Crack iOS hesla - dummies

Mnoho hesel pro telefony a tablety lze odhadnout úplně. Mobilní zařízení se ztratí nebo ukradne a veškerá osoba, která ho zotavuje, musí vyzkoušet některé základní kombinace čísel, například 1234, 1212 nebo 0000. Brzy, voilà! - systém je odemčený. Mnoho telefonů a tablet s operačním systémem iOS, Android a Blackberry je ...