def abort() -> None
os.abort()
est spécialement conçue pour être utilisée lorsqu'une erreur irrécupérable est détectée.
En déclenchant immédiatement l'appel système abort()
, elle force l'arrêt brutal du processus en cours, sans exécuter les gestionnaires de nettoyage,
les blocs finally
ni les fonctions enregistrées via le module atexit
.
Selon la configuration et le système d'exploitation, cette interruption brutale est souvent associée à la génération d'un core dump, ce qui permet de faciliter le diagnostic et le débogage de l'erreur. Sous Windows, le programme se termine avec le code de sortie 3.
SIGABRT
à l'aide de signal.signal(signal.SIGABRT, handler)
ne sera pas appelé.
Abort the interpreter immediately. This function 'dumps core' or otherwise fails in the hardest way possible on the hosting operating system. This function never returns.
Cette méthode ne renvoie aucune valeur.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/usr/bin/env python import os def traiter_erreur(): print("Erreur critique détectée ! Arrêt immédiat du processus.") os.abort() # Simulation d'une erreur irrécupérable traiter_erreur() # Le code suivant ne sera jamais exécuté. print("Ce message ne sera jamais affiché.") |
Lors de l'exécution, dès que l'erreur critique est détectée, le processus s'arrête immédiatement avec un message système indiquant souvent "Aborted (core dumped)" sur les systèmes Unix.
$> python exemple.py Erreur critique détectée ! Arrêt immédiat du processus. Aborted (core dumped)
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :