Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Misuse of quit() in api.py; Use of SystemExit(1) + narrow exception handling

Ouverte
#1,663 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
1/5
Temps estimé
1-3 heures
Accessibilité débutants
50/100
Type d'issue
Refactorisation
Clarté
Clairement spécifiée
Activité
À l'abandon
Stack technique
python
Domaine
api

Piste de recherche

Commencez dans face_recognition/api.py, autour des lignes 8 à 13, où face_recognition_models est importé et où le gestionnaire d’exceptions général affiche des instructions d’installation avant d’appeler quit(). Restreignez la gestion des exceptions et remplacez le comportement de sortie comme demandé. Le travail est terminé lorsque les dépendances manquantes affichent toujours le message d’installation indiqué et que le module se termine avec le statut 1 sans masquer les erreurs d’importation non liées.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

In face_recognition/api.py:

  • The try/except block on lines 8-13 catches a broad Exception and then calls quit. Code below:

try:
import face_recognition_models
except Exception:
print("Please install face_recognition_models with this command before using face_recognition:\n")
print("pip install git+https://github.com/ageitgey/face_recognition_models")
quit()

Using ImportError instead of except Exception can prevent masking of unrelated errors, like syntax errors, that may happen during an import. Since the block calls an import and specifically checks for missing dependencies, use of ImportError is more focused on the codes specific purpose.

For the quit() --> SystemExit(1) suggestion, quit() isn't guaranteed to exist in all execution envs. Raising SystemExit(1) is more universal and serves the same purpose, preventing any disruption in existing code. SystemExit(1) also has the benefit of not needing an import to function.

Langage dominant
Python
Étoiles
56.8k
Forks
13.7k
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de ageitgey/face_recognition

Toutes les issues de ageitgey/face_recognition

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.