Ondanks inspanningen van een programmeur , kan elk programma af en toe een fout van tijd tot tijd tegenkomen. In de meeste gevallen is het van belang om methoden die informatie over de aard van deze fouten debugging doeleinden weergegeven uitvoering . Met de juiste code zullen er fouten in een bepaalde Python programma weer te geven door middel van de standaard fout uitvoer methode , terwijl triggering een uitzondering springende blok code . Deze methode zal de programmeur in staat te stellen zowel log foutmeldingen en dicteren hoe het programma zorgt voor de specifieke fout . Wat je nodig hebt Python Taal Tolk Text Editor Toon Meer Aanwijzingen Catching en inloggen Fouten in Python 1 Neem dit kleine gedeelte van de python ! code als voorbeeld : # /usr /local /bin /python import sys x = 4-4 y = y /x druk y Deze code snippet , wanneer het uitgevoerd wordt , zal een fatale fout veroorzaken (een zogenaamde ZeroDivisionError in Python ) omdat getallen niet kan worden gedeeld door nul . Terwijl in de Python Interactive Interpreter , zal deze fout af te drukken op het scherm en het programma zal crashen . Echter , kan de programmeur een GUI programma om buiten de tolk die inloggen en behandelen dergelijke fouten in de code draaien ontwikkelen . Kopen van 2 Voeg een "try ... behalve " blok rond de voorbeeldcode . Dit zal dicteren hoe het programma de fout verwerkt tijdens de uitvoering : # /usr /local /bin /python import sys proberen : ! x = 4 - 4 y = y /x druk y behalve ZeroDivisionError : /* code om uitzondering te behandelen gaat hier * /< br > de code zal nu " proberen " de handelingen uit beschreven in de "try ... behalve " block . Het " tenzij " sectie alleen wordt geactiveerd als de ' ZeroDivisionError ' gebeurtenis plaatsvindt . Als een andere fout optreedt , de " uitzondering " blok zullen niet worden uitgevoerd . Het is echter mogelijk om meerdere foutafhandeling stappen met meerdere " behalve" statements . Route 3 de foutmelding via een uitgang filestream object . In dit geval , moet fouten gaan door de standard error uitvoer ( stderr ) stroom # /usr /local /bin /python import sys proberen : . ! < br > x = 4-4 y = y /x druk y behalve ZeroDivisionError : elog = open ( ' out . log ' , ' w ' ) sys.stderr = elog raise Uitzondering , " Delen door nul " De variabele " elog " wordt een open bestand toegewezen . Vervolgens wordt de standard error uitvoer ( sys.stderr ) gekoppeld aan het bestand toegewezen aan ELOG . Elke uitgang gestuurd naar sys.stderr zal schrijven aan de " out.log " bestand . Ten slotte wordt een uitzondering " verhoogd ", vertelt het programma dat er een fout is opgetreden en het is tijd om te stoppen . De string " Delen door nul " wordt afgedrukt op out.log ( omdat de uitzondering rechtstreeks worden afgedrukt op sys.stderr ) .
|