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: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ářů: 0
    včera 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ářů: 3
    včera 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ářů: 0
    včera 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
    včera 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
    24.11. 22:44 | Nová verze

    Waydroid (Wikipedie, GitHub) byl vydán v nové verzi 1.6.0. Waydroid umožňuje spouštět aplikace pro Android na běžných linuxových distribucích. Běhové prostředí vychází z LineageOS.

    Ladislav Hagara | Komentářů: 3
    24.11. 15:44 | Nová verze

    Příspěvek na blogu Raspberry Pi představuje novou kompletně přepracovanou verzi 2.0 aplikace Raspberry Pi Imager (YouTube) pro stažení, nakonfigurování a zapsání obrazu operačního systému pro Raspberry Pi na SD kartu. Z novinek lze vypíchnout volitelnou konfiguraci Raspberry Pi Connect.

    Ladislav Hagara | Komentářů: 3
    24.11. 11:22 | Nová verze

    Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 8.00. Přináší podporu nejnovějších procesorů Intel a AMD nebo také tmavý režim.

    Ladislav Hagara | Komentářů: 0
    24.11. 10:55 | Nová verze

    Programovací jazyk Racket (Wikipedie), tj. jazyk z rodiny jazyků Lisp a potomek jazyka Scheme, byl vydán v nové major verzi 9.0. Hlavní novinku jsou paralelní vlákna (Parallel Threads).

    Ladislav Hagara | Komentářů: 0
    24.11. 10:11 | Komunita

    Před šesti týdny bylo oznámeno, že Qualcomm kupuje Arduino. Minulý týden byly na stránkách Arduina aktualizovány podmínky používání a zásady ochrany osobních údajů. Objevily se obavy, že by otevřená povaha Arduina mohla být ohrožena. Arduino ubezpečuje, že se nic nemění a například omezení reverzního inženýrství v podmínkách používání se týká pouze SaaS cloudové aplikace.

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

    Dotaz: Rada ohledně vyjímek v PHP

    20.2.2015 22:09 O|O
    Rada ohledně vyjímek v PHP
    Přečteno: 510×
    Ahoj, začínám s vyjímkama v php ale nemůžu přijít na to, jak napsat vyjímku, která by při nějaké chybě jen něco nastavila a a pokračovala dále bez ukončení běhu scriptu. Poraďte mi prosím. Díky

    Odpovědi

    FrostyX avatar 20.2.2015 22:14 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    Není problém do sebe try-bloky vnořovat. Dej si do try jen tu část, ve které se může vyskytnout daná chyba, ošetři ji jak potřebuješ a zbytek skriptu nech pokračovat za tím blokem.
    FrostyX.cz | 1984 was not supposed to be an instruction manual.
    20.2.2015 22:16 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    Ve větvi catch jen nastavíš to, co nastavit potřebuješ.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    20.2.2015 22:23 O|O
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    O to se snažím, ale vyhodí to chybu, že soubor neexistuje a moje chyba se nevypíše :-( Díky
    try {
       require_once '/soubor/ktery/vubec/neexistuje.php';
    }
    catch(Exception $e)
    {
       echo "Vyskytla se chyba";
    }
    20.2.2015 22:35 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    require_once při chybě výjimku nevyhazuje. Je to Fatal error.

    Proč se snažíš requirovat neexistující skript?
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    20.2.2015 22:46 O|O
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    Nesnažím,ale abych nemusel kontrolovat cca 8000 souborů zda existujé nebo ne, tak jsem si myslel, že to dám do vyjímky a je to daleko rychlejší :-( No vidím, že asi ne.
    20.2.2015 22:57 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    Před require dám podmínku file_exists() a je to. Jeden řádek navíc přece není problém.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Jendа avatar 20.2.2015 23:00 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    Až na to že je to race-condition, ne?
    20.2.2015 23:05 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    Mám to podle doporučení PSR-4. Znáš něco lepšího?
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    xxxxxx avatar 20.2.2015 23:40 xxxxxx | skóre: 23
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    Proč race-condition?

    Myslíte:
    if (file_exists(...))
      require ...;
    
    Co se tam vlastně děje?
    Jendа avatar 20.2.2015 23:52 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    No file_exists projde, pak jádro spustí jiný proces, který ten soubor smaže, a pak to require hodí fatal error.

    Nepomohlo by použít include, které hodí jenom warning, který by měl jít odchytnout?
    21.2.2015 09:48 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    Nemyslím si, že je běžné za chodu mazat skripty. Když už se něco takového stane, tak uživatelé jsou na takové krátkodobé výpadky většinou zvyklí.

    Změna require na include, případně se zavináčem, může být užitečná. Je dobré si otestovat chování při různých situacích a ošetřit je podle toho. Kdysi jsem se s tím také páral, ale pak jsem toho nechal kvůli tomu, že jsem musel laborovat s funkcemi get_include_path() a set_include_path().
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    xxxxxx avatar 21.2.2015 14:49 xxxxxx | skóre: 23
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    Aha, díky za vysvětlení :)
    Josef Kufner avatar 21.2.2015 13:16 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    Dej si na začátek toto:
            set_error_handler(function ($errno, $errstr, $errfile, $errline ) {
                    if (error_reporting()) {
                            throw new \ErrorException($errstr, 0, $errno, $errfile, $errline);
                    }
            });
    
    Pak ti PHP bude místo chyb a varování házet výjimky u všeho. Je to mnohem praktičtější.
    Hello world ! Segmentation fault (core dumped)
    24.2.2015 17:30 jos
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    z toho fatalu po selhání require se ale AFAIK aplikace nevylíže, takže jedině s include
    24.2.2015 17:36 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    Fatal error se dá ošetřit funkcí register_shutdown_function().
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    25.2.2015 12:43 jos
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    což tazateli při procházení 8000 souborů nějakým foreachem nepomůže, jestli ho chápu správně
    25.2.2015 13:06 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    V dotazu nevidím, že by je chtěl procházet přes foreach. Byl by to nesmysl.

    Těch 8000 souborů je zřejmě naplněno daty plus pár řádek skriptu kolem nich. Řešením bude, pokud se tato data důsledně oddělí od aplikace, například přesunutím do databáze. Tím se skripty významně zjednoduší a zpřehlední.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    26.2.2015 13:00 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Rada ohledně vyjímek v PHP
    Pokud jsou v těch souborech třídy, neměl bys lepší použít autoloader?

    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.