abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:33 | Komunita

    Byla založena nadace Open Home Foundation zastřešující více než 240 projektů, standardů, ovladačů a knihoven (Home Assistant, ESPHome, Zigpy, Piper, Improv Wi-Fi, Wyoming, …) pro otevřenou chytrou domácnost s důrazem na soukromí, možnost výběru a udržitelnost.

    Ladislav Hagara | Komentářů: 0
    dnes 13:00 | Nová verze

    Společnost Meta otevírá svůj operační systém Meta Horizon OS pro headsety pro virtuální a rozšířenou realitu. Vedle Meta Quest se bude používat i v připravovaných headsetech od Asusu a Lenova.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Zajímavý článek

    50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Pozvánky

    Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.

    TomasVondra | Komentářů: 0
    včera 03:00 | IT novinky

    Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].

    Ladislav Hagara | Komentářů: 6
    včera 02:00 | IT novinky

    Ještě letos vyjde Kingdom Come: Deliverance II (YouTube), pokračování počítačové hry Kingdom Come: Deliverance (Wikipedie, ProtonDB Gold).

    Ladislav Hagara | Komentářů: 5
    21.4. 19:11 | Komunita

    Thunderbird 128, příští major verze naplánovaná na červenec, přijde s nativní podporou Exchange napsanou v Rustu.

    Ladislav Hagara | Komentářů: 25
    21.4. 04:44 | Komunita

    Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Novým vedoucím je Andreas Tille.

    Ladislav Hagara | Komentářů: 7
    KDE Plasma 6
     (71%)
     (10%)
     (2%)
     (18%)
    Celkem 679 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: kdy (ne)používat try

    16.5.2018 13:41 Alex
    kdy (ne)používat try
    Přečteno: 314×
    Ahoj,právě se učím Javu a chtěl bych vědět, jestli je dobré používat výjimku pro čtení ze vstupu Scnanneru metodou nextInt(). Myslím, že v Javě od Herouta jsem to tak viděl (neuspěje->chytne catch->smaže až do bílého znaku->čte další), ale někde jsem pak čet, že by se to s try nemělo přehánět a tady se to dá před načtením nejdřív otestovat pomocí hasInt(). Omlouvám se za hloupý dotaz, Java je můj první programovací jazyk a nerad bych si vytvářel nějaké špatné návyky hned na začátku. Díky za radu.

    Odpovědi

    16.5.2018 13:56 Sten
    Rozbalit Rozbalit vše Re: kdy (ne)používat try
    hasInt se používá, pokud budete nějak zpracovávat vstup, kde číslo není, případně pokud takový vstup je validní, ale vy jej jenom přeskakujete. Pokud budete zpracovávat jenom čísla a jiné věci na vstupu nemají být, tak try … catch je dobré řešení, protože je na první pohled vidět, že ne-čísla nejsou očekávaný vstup. V zásadě try … catch se používá pro zachycení situací, ke kterým by nemělo docházet, neměl by být součástí běžného běhu programu.
    16.5.2018 14:01 Sten
    Rozbalit Rozbalit vše Re: kdy (ne)používat try
    Jinak i pro tohle pravidlo existují výjimky, třeba kontrola null se běžně dělá pomocí if místo try … catch (NullPointerException), protože těch kontrol může být hodně za sebou, co by znamenalo hodně zanoření a špatnou čitelnost.
    16.5.2018 22:21 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: kdy (ne)používat try
    K zanoření vůbec nemusí dojít, pokud jsou tyto kontroly řazeny lineárně za sebou v jednom bloku try-catch. Čitelnosti to nejenže neubírá, ale dokonce vyloženě prospívá.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    16.5.2018 14:11 Alex
    Rozbalit Rozbalit vše Re: kdy (ne)používat try
    Právě že se čte z klávesnice na výzvu zadejte N čísel v cyklu s try-catch. Žádná validace tam není. Smazat se to co není číslo musí, jinak by se to zacyklilo. Celé mi to zatím přijde dost složité a nelogické, když tam můžu použít hasInt() přímo v hlavičce toho cyklu.
    16.5.2018 15:20 Sten
    Rozbalit Rozbalit vše Re: kdy (ne)používat try
    Pokud je výzva „Zadejte N čísel“, tak ne-čísla nejsou očekávaný vstup a ošetřovat je přes try … catch je IMO správně.
    16.5.2018 15:25 Sten
    Rozbalit Rozbalit vše Re: kdy (ne)používat try
    Důvod pro výjimku je taky výkon, pokud použijete hasInt, tak to musí projít vstup a zjistit, jestli je to číslo, přičemž v dalším kroku (parsování) se prochází a zkoumá ten samý vstup znovu. Při použití výjimky se ten vstup prochází jen jednou, což je, pokud je tam číslo, rychlejší. Pokud nečekáte ne-čísla (rollback při výjimce je pomalý), tak je vhodné preferovat výjimky.
    16.5.2018 16:25 Alex
    Rozbalit Rozbalit vše Re: kdy (ne)používat try
    Díky. A nebylo by pak lepší, pokud bude číslo zadávané vždy na nový řádek, použít FileReader() a parseInt()? Zdá se mi to jako nejčistší a asi i nejrychlejší v tomto případě.
    16.5.2018 16:53 Alex
    Rozbalit Rozbalit vše Re: kdy (ne)používat try
    S tím, že by se zadávala ne-čísla, se počítá spíš tak, že by uživatel mohl odentrovat nějaké prázdné řádky. To mi třeba nepřijde až zas taková chyba, která by si zasloužila výjimku, ale nevím.
    16.5.2018 22:25 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: kdy (ne)používat try
    Scanner bílé znaky při čtení čísel ve většině jazyků jednoduše přeskakuje.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.