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í
×
    včera 21:11 | IT novinky

    Na dnešní akci Made by Google 2025 (YouTube) byly představeny telefony Pixel 10 s novým čipem Google Tensor G5 a novými AI funkcemi, hodinky Pixel Watch 4 a sluchátka Pixel Buds 2a.

    Ladislav Hagara | Komentářů: 2
    včera 14:11 | Nová verze

    The Document Foundation oznámila vydání nové major verze 25.8 svobodného kancelářského balíku LibreOffice. Podrobný přehled nových vlastností i s náhledy v poznámkách k vydání (cs) a také na Youtube a PeerTube.

    Ladislav Hagara | Komentářů: 3
    včera 04:00 | Nová verze

    Zeek (Wikipedie), původně Bro, byl vydán v nové major verzi 8.0.0. Jedná se o open source platformu pro analýzu síťového provozu. Vyzkoušet lze online.

    Ladislav Hagara | Komentářů: 0
    19.8. 23:55 | Zajímavý software

    Emacs na stříhání videa? Klidně.

    Ladislav Hagara | Komentářů: 7
    19.8. 15:55 | Nová verze

    Byl vydán Mozilla Firefox 142.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 142 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    19.8. 13:22 | Zajímavý článek

    Python Developers Survey 2024, výsledky průzkumu mezi vývojáři v Pythonu organizovaném Python Software Foundation ve spolupráci se společností JetBrains v říjnu a listopadu loňského roku. Zúčastnilo se 30 tisíc vývojářů z 200 zemí. Linux používá 59 % z nich.

    Ladislav Hagara | Komentářů: 0
    19.8. 04:00 | Zajímavý článek

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 2
    19.8. 01:55 | Nová verze

    Byla vydána nová verze 2.51.0 distribuovaného systému správy verzí Git. Přispělo 91 vývojářů, z toho 21 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    19.8. 01:33 | Zajímavý článek

    Po roce bylo vydáno nové číslo magazínu Phrack: Phrack 72.

    Ladislav Hagara | Komentářů: 4
    18.8. 19:33 | Pozvánky

    OpenSSL Corporation zve na den otevřených dveří ve středu 20. srpna v Brně a konferenci OpenSSL od 7. do 9. října v Praze.

    Ladislav Hagara | Komentářů: 6
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (79%)
     (11%)
     (7%)
     (0%)
     (4%)
     (0%)
    Celkem 28 hlasů
     Komentářů: 4, poslední 19.8. 16:48
    Rozcestník

    Dotaz: kdy (ne)používat try

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