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 19:22 | Nová verze

Ondřej Filip, výkonný ředitel sdružení CZ.NIC, oznámil vydání verze 2.0.0 open source routovacího démona BIRD (Wikipedie). Přehled novinek v diskusním listu a v aktualizované dokumentaci.

Ladislav Hagara | Komentářů: 0
dnes 09:22 | Pozvánky

V Praze dnes probíhá Konference e-infrastruktury CESNET. Na programu je řada zajímavých přednášek. Sledovat je lze i online na stránce konference.

Ladislav Hagara | Komentářů: 1
9.12. 20:11 | Nová verze

Byl vydán Debian 9.3, tj. třetí opravná verze Debianu 9 s kódovým názvem Stretch a Debian 8.10, tj. desátá opravná verze Debianu 8 s kódovým názvem Jessie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 9 a Debianu 8 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 0
9.12. 00:44 | Nová verze

Po 6 měsících vývoje od vydání verze 0.13.0 byla vydána verze 0.14.0 správce balíčků GNU Guix a na něm postavené systémové distribuce GuixSD (Guix System Distribution). Na vývoji se podílelo 88 vývojářů. Přibylo 1 211 nových balíčků. Jejich aktuální počet je 6 668. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 3
8.12. 21:33 | Nová verze

Po půl roce vývoje od vydání verze 5.9 byla vydána nová stabilní verze 5.10 toolkitu Qt. Přehled novinek na wiki stránce. Současně byla vydána nová verze 4.5.0 integrovaného vývojového prostředí (IDE) Qt Creator nebo verze 1.10 nástroje pro překlad a sestavení programů ze zdrojových kódů Qbs.

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

Naprostá většina příjmů Mozilly pochází od výchozích webových vyhledávačů ve Firefoxu. Do konce listopadu 2014 měla Mozilla globální smlouvu se společností Google. Následně bylo místo jedné globální smlouvy uzavřeno několik smluv s konkrétními vyhledávači pro jednotlivé země. V USA byla podepsána pětiletá smlouva s vyhledávačem Yahoo. Dle příspěvku na blogu Mozilly podala společnost Yahoo na Mozillu žalobu ohledně porušení této

… více »
Ladislav Hagara | Komentářů: 0
7.12. 05:55 | Zajímavý článek

V Londýně probíhá konference věnovaná počítačové bezpečnosti Black Hat Europe 2017. Průběžně jsou zveřejňovány prezentace. Videozáznamy budou na YouTube zveřejněny o několik měsíců. Zveřejněna byla například prezentace (pdf) k přednášce "Jak se nabourat do vypnutého počítače, a nebo jak v Intel Management Engine spustit vlastní nepodepsaný kód". Dle oznámení na Twitteru, aktualizace vydaná společností Intel nevylučuje možnost útoku.

Ladislav Hagara | Komentářů: 5
7.12. 04:44 | Komunita

Virtualizační nástroj GNOME Boxy ve Fedoře 27 umožňuje jednoduše stáhnout a nainstalovat Red Hat Enterprise Linux, který je pro vývojáře zdarma. Vývojová verze GNOME Boxy již umožňuje jednoduše stáhnout a nainstalovat další linuxové distribuce. Ukázka na YouTube. Seznam distribucí a jejich verze, nastavení a cesty k ISO obrazům je udržován v knihovně a databázi libosinfo (GitLab).

Ladislav Hagara | Komentářů: 0
7.12. 03:33 | Nová verze

Google Chrome 63 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 63.0.3239.84 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře. Opraveno bylo 37 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 10
6.12. 22:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 147. brněnský sraz, který proběhne v pátek 15. prosince od 18:00 hodin v restauraci Severka na rohu Tučkové a Zahradníkové.

Ladislav Hagara | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (1%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 951 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    Rozcestník

    Dotaz: PYTHON error handling

    17.5.2011 02:20 adrinko | skóre: 22
    PYTHON error handling
    Přečteno: 129×
    prosím, prečo mi tu nefunguje správne error handling? v def kazdych_5_sekund je selecta namiesto select a preto by to malo vypisať Oops. Ono to avšak nefunguje a vypíše to celý traceback. prečo? vyskúšal som, že ak by bol preklep napr v def __init__(self), tak by to správne vypísalo Oops, ale keď je preklep alebo chyba nižšie, tak to nefunguje. prečo? chcel by som, aby sa vždy vypísalo len Oops pri akejkoľvek chybe, kdekoľvek v kóde. vďaka vopred za nakopnutie

    # -*- coding: utf-8 -*-
    import sys      
    import traceback 
    
    
    try:
      import pygtk
      pygtk.require("2.0")
      import gtk
      import gobject
    
      class jednoduchy_textovy_prohlizec (Exception):
    
          def __init__(self):
       
              ## naimportovanie firebird db
              import kinterbasdb
              self.con = kinterbasdb.connect(dsn=db, user=usr, password=psw)
              self.cur = self.con.cursor()        
                
              self.okno = gtk.Window()
              self.okno.set_title("Textový editor")
              self.okno.set_border_width(10)
      
              # Editor
              self.textovy_buffer = gtk.TextBuffer()
              self.textovy_prohlizec = gtk.TextView(self.textovy_buffer)
              self.posuvnikove_okno = gtk.ScrolledWindow()
              self.posuvnikove_okno.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
              self.posuvnikove_okno.add_with_viewport(self.textovy_prohlizec)
      
              # Zabalení menu a editoru do VBoxu
              self.vbox = gtk.VBox(False, 5)
              self.vbox.pack_end(self.posuvnikove_okno)
      
              self.okno.add(self.vbox)
              self.okno.show_all()
      
              self.okno.connect("destroy", gtk.main_quit)
              
              # Tímto si vyrobíme "timer" po 5 sekundách
              # timer_id lze využít pro "vypnutí" timeru pomocí gobject.source_remove(timer_id)
              timer_id = gobject.timeout_add(1000, self.kazdych_5_sekund)
      
          def kazdych_5_sekund(self):
              SELECT = "selecta * from aaa"
              self.cur.execute(SELECT)
              for row in self.cur.itermap():
                  id = 'ID:%(ID)s' % row
                  print id
              return True     # Toto způsobí že se toto bude opakovat každých 5s, False - provede se pouze jednou
     
      if __name__ == "__main__":
          aplikace = jednoduchy_textovy_prohlizec()
          gtk.main()
    
    
    #odchytava
    except (RuntimeError, TypeError, NameError, Exception):
      print "Oops!"

    Odpovědi

    17.5.2011 08:46 Jan Šimák | skóre: 37 | Hradec Králové
    Rozbalit Rozbalit vše Re: PYTHON error handling
    Především je ve výše uvedeném kódu několik chyb.
    1) od třídy Exception dědí pouze střídy, ve kterých definuješ vlastní výjimky
    2) to jak jsi použil try ... except je řekněme chybné
    Kde odchytávat výjimky? Zde záleží na tobě, kterou část kódu považuješ za důležitou a vhodnou pro "zabezpečení".

    Návrh:
    import pygtk
    pygtk.require("2.0")
    import gtk
    import gobject
    
    class jednoduchy_textovy_prohlizec:
    
          def __init__(self):
          	# .....
     
          def kazdych_5_sekund(self):
              SELECT = "selecta * from aaa"
              try:
                  self.cur.execute(SELECT)
              except "vyjika vyvolana pri execute modulem kinterbasdb":
                  print "Oops!"
                  return False
              for row in self.cur.itermap():
                  id = 'ID:%(ID)s' % row
                  print id
              return True     # Toto způsobí že se toto bude opakovat každých 5s, False - provede se pouze jednou
     
    if __name__ == "__main__":
    	  # a pripadne odchytit ostatni vyjimky, ktere dedi od nize uvedenych. podle me je to zbytecne a spis se zamerit
              # na odchyceni konkretnich vyjimek primo ve tride nebo pri importu
    	  try:
    	  	aplikace = jednoduchy_textovy_prohlizec()
    	  	gtk.main()
    	  except (RuntimeError, TypeError, NameError, Exception):
    	  	print "Oops!"
    

    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.