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 13:55 | Nová verze

    Byla vydána nová verze 9.2 textového editoru Vim (Vi IMproved). Přináší vylepšené doplňování, podporu schránky ve Waylandu, podporu XDG Base Directory (konfigurace v $HOME/.config/vim), vylepšené Vim9 skriptování nebo lepší zvýrazňování změn. Vim zůstává charityware. Nadále vybízí k podpoře děti v Ugandě. Z důvodu úmrtí autora Vimu Brama Moolenaara a ukončení činnosti jím založené charitativní organizace ICCF Holland projekt Vim navázal spolupráci s charitativní organizaci Kuwasha.

    Ladislav Hagara | Komentářů: 1
    včera 12:33 | Zajímavý projekt

    Byl představen editor MonoSketch, webová aplikace pro tvorbu diagramů, technických nákresů, flowchartů a různých dalších vizualizací, to vše jenom z ASCII znaků. Všechny operace běží pouze v prohlížeči uživatele a neprobíhá tedy žádné nahrávání dat na server. Zdrojový kód aplikace (drtivá většina Kotlin, žádné C#) je dostupný na GitHubu pod licencí Apache 2.0.

    NUKE GAZA! 🎆 | Komentářů: 1
    včera 12:22 | Nová verze

    Byla vydána nová verze 3.7.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.

    Ladislav Hagara | Komentářů: 0
    včera 05:00 | Komunita

    Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).

    Ladislav Hagara | Komentářů: 9
    13.2. 19:44 | Zajímavý projekt

    Eric Migicovsky představil Pebble Emulator, tj. emulátor hodinek Pebble (PebbleOS) běžící ve webovém prohlížeči. Za 6 hodin jej napsal Claude Code. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.2. 17:44 | Nová verze

    Byla vydána nová verze 3.41 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.11 souvisejícího programovacího jazyka Dart (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    13.2. 12:11 | IT novinky

    Rusko zcela zablokovalo komunikační platformu WhatsApp, řekl včera mluvčí Kremlu Dmitrij Peskov. Aplikace, jejímž vlastníkem je americká společnost Meta Platforms a která má v Rusku na 100 milionů uživatelů, podle Peskova nedodržovala ruské zákony. Mluvčí zároveň lidem v Rusku doporučil, aby začali používat domácí aplikaci MAX. Kritici tvrdí, že tato aplikace ruské vládě umožňuje lidi sledovat, což úřady popírají.

    Ladislav Hagara | Komentářů: 18
    13.2. 11:44 | IT novinky

    Před 34 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.

    Ladislav Hagara | Komentářů: 2
    13.2. 04:44 | Humor

    Agent umělé inteligence vytvořil 'útočný' článek o Scottu Shambaughovi, dobrovolném správci knihovny matplotlib, poté, co vývojář odmítl agentem navrženou změnu kódu (pull request). 'Uražený' agent autonomně sepsal a publikoval na svém blogu článek, který přisuzuje Shambaughovi smyšlené motivace, egoismus a strach z AI coby konkurence.

    NUKE GAZA! 🎆 | Komentářů: 34
    12.2. 20:11 | Nová verze

    Bylo vydáno Ubuntu 24.04.4 LTS, tj. čtvrté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (11%)
     (27%)
     (3%)
     (4%)
     (1%)
     (12%)
     (27%)
    Celkem 871 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Python 3 + PyMySql zachytávání výjimek

    31.10.2011 00:14 Martin Matějek | skóre: 12 | blog: Flying_circus | Kladno
    Python 3 + PyMySql zachytávání výjimek
    Přečteno: 439×
    Zdravím,

    tvořím jednoduchou webovou aplikaci v CherryPy, která vytáhne data z MySQL a určitým způsobem je zobrazí. Problém je, že se mi nedaří zachytit výjimku(y), když například neběží databáze, vypadne spojení, atd.

    Když se nepodaří připojit k databázi, dostanu takový traceback
    Traceback (most recent call last):
      File "/usr/lib/python3.2/site-packages/PyMySQL3-0.4-py3.2.egg/pymysql/connections.py", line 661, in _connect
        sock.connect((self.host, self.port))
    socket.error: [Errno 111] Connection refused
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/lib/python3.2/site-packages/cherrypy/_cprequest.py", line 656, in respond
        response.body = self.handler()
      File "/usr/lib/python3.2/site-packages/cherrypy/lib/encoding.py", line 188, in __call__
        self.body = self.oldhandler(*args, **kwargs)
      File "/usr/lib/python3.2/site-packages/cherrypy/_cpdispatch.py", line 34, in __call__
        return self.callable(*self.args, **self.kwargs)
      File "/home/yenn/FIT/SP1/git/lib/frontend.py", line 30, in login
        conn.open()
      File "/home/yenn/FIT/SP1/git/lib/sql.py", line 24, in open
        self.conn = pymysql.connect(host=self.database_var['hostname'], port=int(self.database_var['port']), user=self.database_var['user'], passwd=self.database_var['passwd'], db=self.database_var['dbname'])
      File "/usr/lib/python3.2/site-packages/PyMySQL3-0.4-py3.2.egg/pymysql/__init__.py", line 93, in Connect
        return Connection(*args, **kwargs)
      File "/usr/lib/python3.2/site-packages/PyMySQL3-0.4-py3.2.egg/pymysql/connections.py", line 513, in __init__
        self._connect()
      File "/usr/lib/python3.2/site-packages/PyMySQL3-0.4-py3.2.egg/pymysql/connections.py", line 669, in _connect
        raise OperationalError(2003, "Can't connect to MySQL server on %r (%d)" % (self.host, e.args[0]))
    pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (111)")
    

    Podle jedné stránky by mělo stačit
    try:
        ...
    except socket.error, (value,message): 
        print ("Socket error: ", message) 
        sys.exit(1)
    
    ale to mojí výjimku nezachytí. Nepomůže ani obecná výjimka
    import sys
    
    try:
        foo()
    except:
        print("Unexpected exception or error: ", sys.exc_info()[0])
        raise
    
    výjimky prostě projdou bez povšimnutí.

    Zkoušel jsem zachytávat pymysql.err.OperationalError,OperationalError a další specifické vyjimky, ale žádná změna.

    Pokud vím, výjimky jdou nahoru, dokud je něco nezachytí anebo neshodí program. Jak a kde je tedy zachytávat, když na všechno co jsem zkoušel nereagují?

    P.S.: Python 3.2.2, PyMySQL3 0.4
    Don't judge me by the friends I keep. No, no, no. Judge me by the enemies I have slain!

    Řešení dotazu:


    Odpovědi

    Řešení 1× (Martin Matějek (tazatel))
    31.10.2011 01:19 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
    Rozbalit Rozbalit vše Re: Python 3 + PyMySql zachytávání výjimek

    raise OperationalError(2003, "Can't connect to MySQL server on %r (%d)" % (self.host, e.args[0]))

    Dle tohoto řádku bych zkusil odchytit pymysql.err.OperationalError

    A pozor na to že všechny chyby v Py3k jsou třídy .. viz http://docs.python.org/py3k/tutorial/errors.html

    USE="-gnome -kde";turris
    31.10.2011 16:24 Martin Matějek | skóre: 12 | blog: Flying_circus | Kladno
    Rozbalit Rozbalit vše Re: Python 3 + PyMySql zachytávání výjimek
    Zkusil jsem si napsat co nejkratší kus kódu na otestování a funguje to jak má. Asi jsem v původním kódu měl někde překlep.
    Don't judge me by the friends I keep. No, no, no. Judge me by the enemies I have slain!

    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.