Gå til innhold

hvordan sette default errorhandler?


Anbefalte innlegg

Videoannonse
Annonse

Fra dokumentasjonen, sys:

"[sys.]excepthook(type, value, traceback)

This function prints out a given traceback and exception to sys.stderr.

 

When an exception is raised and uncaught, the interpreter calls sys.excepthook with three arguments, the exception class, exception instance, and a traceback object. In an interactive session this happens just before control is returned to the prompt; in a Python program this happens just before the program exits. The handling of such top-level exceptions can be customized by assigning another three-argument function to sys.excepthook. "

Lenke til kommentar

Jeg prøvde den der, men når jeg plasserer en vilkårlig indexError, ser det ikke ut som det blir fanga opp. Koden er forøvrig:

sys.excepthook=BaseWindow.catchException

 

og

   def dialog(self, message, quit=True, destroy=True):
       self.contents['dialog'] = gtk.MessageDialog(self,
       gtk.DIALOG_MODAL |gtk.DIALOG_DESTROY_WITH_PARENT, 
       gtk.MESSAGE_INFO, gtk.BUTTONS_OK, None)
       
       self.contents['dialog'].set_markup(message)
       self.contents['dialog'].run()
       if destroy: self.contents['dialog'].destroy()
       if quit:
           gtk.main_quit()
           sys.exit()   
           
   def catchException(type, value, tb):
       dInfo  = "in Myexcepthook"
       import traceback
       dInfo += traceback.format_exception(type, value, tb)
       dInfo += "---------------------Traceback lines-----------------------"
       dInfo += "\n".join(lines)
       dInfo += "-----------------------------------------------------------"
       self.dialog('uncaught exception: \n %s' % dInfo)
       print dInfo
       gtk.main_quit()
       sys.exit(2) 

Endret av dabear
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...