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

    Vývoj programovacího jazyka Zig byl přesunut z GitHubu na Codeberg. Sponzoring na Every.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Komunita

    Stejně jako GNOME i KDE Plasma končí s X11. KDE Plasma 6.8 poběží už pouze nad Waylandem. Aplikace pro X11 budou využívat XWayland.

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | IT novinky

    Poslanci Evropského parlamentu dnes vyzvali k výraznému zvýšení ochrany nezletilých na internetu, včetně zákazu vstupu na sociální sítě pro osoby mladší 16 let. Legislativně nezávazná zpráva, kterou dnes odsouhlasil Evropský parlament poměrem 493 hlasů pro ku 92 proti, kromě zavedení věkové hranice 16 let pro využívání sociálních sítí, platforem pro sdílení videí či společníků s umělou inteligencí (AI) vyzývá také k zákazu … více »

    Ladislav Hagara | Komentářů: 22
    včera 14:11 | Humor

    Doom v KiCadu nebo na osciloskopu? Žádný problém: KiDoom: Running DOOM on PCB Traces a ScopeDoom: DOOM on an Oscilloscope via Sound Card.

    Ladislav Hagara | Komentářů: 3
    včera 12:44 | Nová verze

    Po AlmaLinuxu byl v nové stabilní verzi 10.1 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | Zajímavý software

    Open source reimplementace počítačových her Tomb Raider I a Tomb Raider II spolu s dalšími vylepšeními a opravami chyb TRX byla vydána ve verzi 1.0. Jedná se o sloučení projektů / enginů TR1X a TR2X do jednoho TRX. Videoukázka na YouTube.

    Ladislav Hagara | Komentářů: 1
    25.11. 17:00 | IT novinky

    Společnost Seznam.cz spouští konverzační nástroj založený na umělé inteligenci Seznam Asistent. Asistent využívá vlastní jazykový model SeLLMa a dočasně i komerční modely od OpenAI provozované v evropských datacentrech prostřednictvím Microsoft Azure. Dlouhodobým cílem Seznamu je provozovat Asistenta výhradně na interních jazykových modelech a ve vlastních datových centrech.

    Ladislav Hagara | Komentářů: 8
    25.11. 11:55 | Zajímavý software

    Software LibrePods osvobozuje bezdrátová sluchátka AirPods z ekosystému Applu. Exkluzivní funkce AirPods umožňuje využívat na Androidu a Linuxu. Díky zdokumentování proprietárního protokolu AAP (Apple Accessory Protocol).

    Ladislav Hagara | Komentářů: 1
    25.11. 05:00 | Nová verze

    Byl vydán AlmaLinux OS 10.1 s kódovým názvem Heliotrope Lion. S podporou Btrfs. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    25.11. 04:33 | Komunita

    Placená služba prohledávání zprostředkovatelů dat a automatického odstraňování uniklých osobních údajů Mozilla Monitor Plus bude 17. prosince ukončena. Bezplatná monitorovací služba Mozilla Monitor bude i nadále poskytovat okamžitá upozornění a podrobné pokyny k omezení rizik úniku dat. Služba Mozilla Monitor Plus byla představena v únoru loňského roku.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (22%)
     (15%)
     (24%)
     (16%)
     (17%)
    Celkem 407 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: kdy (ne)používat try

    16.5.2018 13:41 Alex
    kdy (ne)používat try
    Přečteno: 333×
    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: 46 | 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: 46 | 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.