recherche
  • Se connecter
  • S'inscrire
Réinitialisation du mot de passe réussie

Suivez les projets qui vous intéressent et découvrez les dernières actualités les concernant.

Gestion des exceptions Python

Collection 187
Lire 51322
temps de mise à jour 2016-09-11

Cet article répertorie plus en détail la gestion des exceptions courantes en Python pour votre référence, comme suit :

1. Lancement d'exceptions et d'exceptions personnalisées

Python utilise des objets d'exception pour représenter des situations anormales. . Si l'objet d'exception n'est pas géré ou intercepté, le programme terminera l'exécution avec ce qu'on appelle un traceback (un message d'erreur).

①.raise instruction

Le mot-clé raise en Python est utilisé pour déclencher une exception, qui est fondamentalement le même que le mot-clé throw en C# et Java, comme indiqué ci-dessous :

# -- coding: utf-8 --

def ThorwErr():
  raise Exception("抛出一个异常")

# Exception: 抛出一个异常
ThorwErr()

Le mot-clé raise est suivi de Throwing est un type d'exception général (Exception). De manière générale, plus l'exception levée est détaillée, mieux c'est. Python a de nombreux types d'exceptions intégrés dans le module d'exceptions. exceptions, comme suit :

import exceptions

# ['ArithmeticError', 'AssertionError'.....]
print dir(exceptions)

Passing exceptions

Si vous interceptez l'exception, mais que vous souhaitez la relancer (passer l'exception), vous pouvez utiliser l'instruction raise sans paramètres :

# -- coding: utf-8 --
class MuffledCalculator:
  muffled = False
  def calc(self,expr):
    try:
      return eval(expr)
    except ZeroDivisionError:
      if self.muffled:
        print 'Division by zero is illegal'
      else:
        raise

②. Type d'exception personnalisé

Vous pouvez également personnaliser votre propre type spécial d'exception en Python, en héritant simplement de la classe Exception (directement ou indirectement) :

class SomeCustomException(Exception):
  pass

2. et en C# Semblable à try/catch, le mot-clé try/sauf est utilisé en Python pour intercepter les exceptions, comme suit :

# -- coding: utf-8 --

try:
  print 2/0
except ZeroDivisionError:
  print '除数不能为0'

① Capture de plusieurs exceptions

Dans une instruction except, seul le type d'exception déclaré. est capturée par la suite, si possible. Si d'autres types d'exceptions sont levées, vous devez ajouter une instruction except, ou vous pouvez spécifier un type d'exception plus général tel que : Exception, comme suit :

# -- coding: utf-8 --
try:
  print 2/'0'
except ZeroDivisionError:
  print '除数不能为0'
except Exception:
  print '其他类型异常'

Afin d'attraper plusieurs exceptions, en plus de déclarer plusieurs En plus de l'instruction except, vous pouvez également répertorier plusieurs exceptions sous forme de tuples après une instruction except :

# -- coding: utf-8 --
try:
  print 2/'0'
except (ZeroDivisionError,Exception):
  print '发生了一个异常'

② Obtenir des informations sur les exceptions

Chaque exception aura des informations sur les exceptions. De manière générale, nous devrions ensuite enregistrer ces informations d'exception :

# -- coding: utf-8 --
try:
  print 2/'0'
except (ZeroDivisionError,Exception) as e:
  # unsupported operand type(s) for /: 'int' and 'str'
  print e

3. Clause final

La clause final est utilisée conjointement avec la clause try, mais contrairement à l'instruction except, l'existence de la clause enfin n'a pas d'importance. une exception à l'intérieur de la clause try , le code de la clausefinal sera exécuté. En général, enfin lui-même est souvent utilisé pour fermer des fichiers ou dans des Sockets.

# -- coding: utf-8 --
try:
  print 2/'0'
except (ZeroDivisionError,Exception):
  print '发生了一个异常'
finally:
  print '不管是否发生异常都执行'

Outils d'IA chauds
Undress AI Tool
Undress AI Tool

Images de déshabillage gratuites

AI Clothes Remover
AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undresser.AI Undress
Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

Stock Market GPT
Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outil populaire
Bloc-notes++7.3.1
Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6
Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac
SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)