Gestion des exceptions Python (mémo d'apprentissage Python ⑥)

Gérer les exceptions

point

import sys

try:
    f = open('myfile.txt')
    s = f.readline()
except OSError as err:
    print("OS error: {0}".format(err))
except ValueError:
    print("Les données ne peuvent pas être converties en un entier.")
except:
    print("erreur inattendue: ", sys.exc_info()[0])
    raise #Relancez l'exception pour que l'appelant puisse l'attraper

Attrapez plusieurs types d'exceptions


except(RuntimeError, TypeError, NameError):
    pass

Clause else ajoutée


import sys

try:
    f = open('myfile.txt')
    s = f.readline()
except OSError as err:
    print("OS error: {0}".format(err))
except ValueError:
    print("Les données ne peuvent pas être converties en un entier.")
except:
    print("erreur inattendue: ", sys.exc_info()[0])
    raise #Relancez l'exception pour que l'appelant puisse l'attraper
else:
    print(s)
    f.close()

Faire une exception

point

Définir une exception

point

Classe d'exception



class MyError(Exception):
    def __init__(self, value):
        self.value = value
    def __str__(self):
        return repr(self.value)
    
try:
    raise MyError(2*2)
except MyError as e:
    print('My exception occurred, value:', e.value)
#production
# My exception occurred, value: 4

raise MyError('oops!')
#production
# Traceback (most recent call last):
#   File ".\exception_class.py", line 12, in <module>
#     raise MyError('oops!')
# __main__.MyError: 'oops!'

Processus de nettoyage avec try-finally

point

enfin exemple



def divide(x, y):
    try:
        result = x / y
    except ZeroDivisionError:
        print("Erreur de division zéro")
    else:
        print('répondre: ', result)
    finally:
        print('in finally')

divide(2, 1)
#répondre:  2.0
# in finally

divide(2, 0)
#Erreur de division zéro
# in finally

divide("2", "1")
# in finally
# Traceback (most recent call last):
#   File ".\divide.py", line 15, in <module>
#     divide("2", "1")
#   File ".\divide.py", line 3, in divide
#     result = x / y
# TypeError: unsupported operand type(s) for /: 'str' and 'str'

Processus de nettoyage avec avec

point

with open('workfile', 'r') as f:
    read_data = f.read()

print(f.closed)
# True

Recommended Posts

Gestion des exceptions Python (mémo d'apprentissage Python ⑥)
Gestion des exceptions Python
Gestion des exceptions Python
Classe Python (mémo d'apprentissage Python ⑦)
Module Python (mémo d'apprentissage Python ④)
Python, à propos de la gestion des exceptions
Mémo Python
mémo python
Mémo Python
mémo python
Gestion des exceptions
apprentissage de python
Mémo Python
Mémo Python
Syntaxe de contrôle Python, fonctions (mémo d'apprentissage Python ②)
Entrée / sortie avec Python (mémo d'apprentissage Python ⑤)
Gestion des exceptions lors de la communication de l'API Python
Mémo d'apprentissage de la planification des sections ~ par python ~
Mémo d'apprentissage "Scraping & Machine Learning avec Python"
J'ai essayé de résumer la gestion des exceptions Python
[Python] Mémo sur le dictionnaire
Note d'étude LPIC201
[Python] Note d'apprentissage 1
mémo débutant python (9.2-10)
Notes d'apprentissage Python
Numéros, chaînes, types de listes Python (mémo d'apprentissage Python ①)
[Mémo d'apprentissage] Bases de la classe par python
Mémo d'apprentissage Django
mémo débutant python (9.1)
sortie d'apprentissage python
Site d'apprentissage Python
Gestion des erreurs Python
[Introduction à l'application Udemy Python3 +] 65. Gestion des exceptions
★ Mémo ★ Python Iroha
Apprentissage Python jour 4
Un chercheur d'une société pharmaceutique a résumé la gestion des exceptions de Python
gestion des exceptions boto3
Structure et fonctionnement des données Python (mémo d'apprentissage Python ③)
[Python] Mémo EDA
Apprentissage en profondeur Python
Mémo opérateur Python 3
apprentissage python (supplément)
Apprentissage profond × Python
Gestion des fuseaux horaires Python
[Memo] Apprentissage automatique
[Mon mémo] python
Bibliothèque standard Python: seconde moitié (mémo d'apprentissage Python ⑨)
Mémo de métaclasse Python3
Gestion des exceptions Python un peu plus pratique
[Python] Mémo de fond de carte
Mémo d'étude Python & Machine Learning ③: Réseau neuronal
Mémo d'étude Python & Machine Learning ④: Machine Learning par rétro-propagation
Importation de modules et gestion des exceptions en python
Mémo débutant Python (2)
Mémo d'étude Python & Machine Learning ⑥: Reconnaissance des nombres
notes d'apprentissage python
[Python] Mémo Numpy
Bibliothèque standard Python: première moitié (mémo d'apprentissage Python ⑧)
Mémo d'étude Python & Machine Learning ⑤: Classification d'Ayame
Mémo d'étude Python & Machine Learning ②: Introduction de la bibliothèque