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 | IT novinky

    Ministerstvo financí ve spolupráci s finanční správou dnes představilo beta verzi aplikace využívající umělou inteligenci pro předvyplnění daňového přiznání. Není třeba přepisovat údaje z různých potvrzení, ani hledat správné řádky, kam údaje napsat. Stačí nahrát dokumenty a využít AI.

    Ladislav Hagara | Komentářů: 1
    dnes 18:33 | Zajímavý projekt

    Výrobce počítačových periferií Keychron zveřejnil repozitář se schématy šasi klávesnic a myší. Licence je restriktivní, zakazuje většinu komerčních užití a v podstatě jsou tak data vhodná pouze pro výukové účely, hlášení a opravy chyb, případně výrobu vlastního příslušenství.

    |🇵🇸 | Komentářů: 0
    dnes 18:22 | Nová verze

    Správce balíčků APT, používaný v Debianu a odvozených distribucích, byl vydán ve verzi 3.2 (seznam změn). Mezi novinkami figurují nové příkazy pro práci s historií, včetně vracení transakcí.

    |🇵🇸 | Komentářů: 0
    dnes 14:33 | IT novinky

    Společnost Anthropic oznámila Projekt Glasswing a s ní související AI model Claude Mythos Preview. Jedná se o iniciativu zaměřenou na kybernetickou bezpečnost, do které se zapojily velké technologické společnosti Amazon Web Services, Anthropic, Apple, Broadcom, Cisco, CrowdStrike, Google, JPMorganChase, Linux Foundation, Microsoft, NVIDIA a Palo Alto Networks. Anthropic věří, že nový AI model Claude Mythos Preview dokáže

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 13:55 | Zajímavý software

    Firma Ojective Development vydala svůj nástroj pro monitorování a řízení odchozích síťových připojení Little Snitch i pro operační systém Linux. Linuxová verze se skládá ze tří komponent: eBPF program pro zachytávání provozu a webové rozhraní jsou uvolněny pod GNU GPLv2 a dostupné na GitHubu (převážně Rust a JavaScript), jádro backendu je proprietární pod vlastní licencí, nicméně zdarma k použití a redistribuci (cena přitom normálně … více »

    » FIDESZ🧡! « | Komentářů: 0
    včera 18:44 | IT novinky

    Vojenské zpravodajství (VZ) se v březnu zapojilo do mezinárodní operace proti aktivitám hackerské skupiny APT28, která je spojovaná s ruskou vojenskou zpravodajskou službou GRU a která přes slabě zabezpečené routery prováděla kybernetické útoky na státní a další organizace v ČR i zahraničí. Operaci vedl americký Federální úřad pro vyšetřování (FBI) a jejím cílem bylo odebrat útočníkům přístup k napadeným zařízením a ty následně … více »

    Ladislav Hagara | Komentářů: 21
    včera 16:44 | IT novinky

    Tvůrcem nejpopulárnější kryptoměny bitcoin, který se skrývá za pseudonymem Satoši Nakamoto (Satoshi Nakamoto), je britský kryptograf Adam Back. Na základě vlastní investigativní práce to tvrdí americký deník The New York Times (NYT). Několik indicií podle autorů jasně ukazuje na to, že Back a Nakamoto jsou stejný člověk. Jde mimo jiné o podobný odborný a osobnostní profil či totožné chyby a manýry v psaném projevu.

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

    Google Chrome 147 byl prohlášen za stabilní. Nejnovější stabilní verze 147.0.7727.55 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře. Přehled novinek v Chrome DevTools 145 až 147 také na YouTube.

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

    Vývojáři z Laboratoří CZ.NIC vydali nové verze aplikací Datovka (Datovka 4.29.0, Mobilní Datovka 2.6.2). V případě desktopové verze přibyly možnosti projít všechny uložené zprávy, zkontrolovat časy expirací časových razítek a přerazítkovat datové zprávy, které lze v ISDS přerazítkovat. Novinkou je také možnost vytahovat myší ze seznamu ZFO soubory datových zpráv, tento úkon jde udělat i pomocí tlačítek Ctrl+C. Nová verze Mobilní Datovky přináší jen drobné úpravy.

    VSladek | Komentářů: 1
    7.4. 21:55 | Nová verze

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.28.0. Z novinek lze vypíchnout novou třídu machine.CAN.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (7%)
     (1%)
     (12%)
     (30%)
     (3%)
     (6%)
     (2%)
     (14%)
     (23%)
    Celkem 1249 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: PYTHON error handling

    17.5.2011 02:20 adrinko | skóre: 22
    PYTHON error handling
    Přečteno: 249×
    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.