Fehlerbehandlung in PythonBox

Überblick

Informationen zur Fehlerbehandlung bei der Entwicklung von PEPPER-Apps Eine Zusammenfassung des Umgangs mit PythonBox.

Dies ist ein Ablenkungsartikel aus unserem Utage-Blog.

http://utage.headwaters.co.jp/blog/?p=4656

Fehlerbehandlungsmethode

Wenn in PythonBox ein Fehler auftritt Im Falle eines nicht behandelten Fehlers wird die Anwendung sofort beendet.

Derzeit, wenn der Roboter gewaltsam beendet wird, Es scheint dem Benutzer, dass es plötzlich ohne Vorwarnung endete, also Stellen Sie sicher, dass Sie damit umgehen und informieren Sie den Benutzer.

Im Falle eines von Choregraphe festgestellten Fehlers, Das Feld, in dem der Fehler aufgetreten ist, wird rot. Dies ist auch bei SyntaxError usw. der Fall.

ss1.png

Es gibt also verschiedene Möglichkeiten, Fehler in PythonBox zu behandeln Ich werde diese Methoden erklären.

  1. try, except

Wie Fehlerbehandlung im Allgemeinen Python Sie können den Fehler behandeln, indem Sie ihn mit try: außer: schreiben.

class MyClass(GeneratedClass):
    def __init__(self):
        GeneratedClass.__init__(self)
 
    def onLoad(self):
        pass
 
    def onUnload(self):
        pass
 
    def onInput_onStart(self):
        try:
            raise Exception, "Raise Error."
        except Exception as e:
            self.log(str(e))
 
    def onInput_onStop(self):
        self.onUnload()
        self.onStopped()

Im obigen Beispiel werden nur Protokolle gespuckt. Ich kann nichts abdecken, aber es ist der Prozess, den ich versuche Die App stürzt auch dann nicht ab, wenn eine Ausnahme auftritt.

Im Falle der tatsächlichen Verwendung denke ich, dass es wie folgt häufiger verwendet wird.

class MyClass(GeneratedClass):
    def __init__(self):
        GeneratedClass.__init__(self)
 
    def onLoad(self):
        pass
 
    def onUnload(self):
        pass
 
    def onInput_onStart(self):
        try:
            #Verarbeitung, die einen Fehler verursachen kann
            self.onSucceeded()
        except Exception:
            self.onFailed()
 
    def onInput_onStop(self):
        self.onUnload()
        self.onStopped()

Durch Ändern der Ausgabe, wenn wie oben angehoben Sie können Fehler in PythonBox behandeln.

2. Verwenden Sie die Standardfunktionen von PythonBox

OnError-Ausgabe auf dem Bildschirm "Bearbeitungsfeld" hinzugefügt

ss2.png

ss3.png

Wenn du das tust Es wird von der onError-Ausgabe ausgegeben, wenn in PythonBox eine Ausnahme auftritt.

class MyClass(GeneratedClass):
    def __init__(self):
        GeneratedClass.__init__(self)
 
    def onLoad(self):
        pass
 
    def onUnload(self):
        pass
 
    def onInput_onStart(self):
        raise Exception, "Raise Error."
 
    def onInput_onStop(self):
        self.onUnload()
        self.onStopped()

Indem Sie den Typ von onError auf eine Zeichenfolge setzen, Sie können Argumente wie die Fehlermeldung der ausgelösten Ausnahme als Zeichenfolge ausgeben.

Recommended Posts

Fehlerbehandlung in PythonBox
Fehlerbehandlung im Hauptrahmen
Fehler in random.shuffle
Python-Fehlerbehandlung
Fehler im Pyinstaller
SikuliX-Fehlerbehandlung
Fehler in TensorBoard
django.db.migrations.exceptions.InconsistentMigrationHistory Fehlerbehandlung
Über tweepy Fehlerbehandlung
Umgang mit Json in Python
Umgang mit Hexadezimal in Python3
GraphQL (gqlgen) Fehlerbehandlung
Um Fehlerbehandlung von Feedparser
Zipimporter-Fehler in der Pyramide
So installieren Sie Poesie (Fehlerbehandlung) in einer zsh-Umgebung
[Fehlergegenmaßnahmen] Fehlerbehandlung bei der Installation von Django-Heroku
Informationen zu FastAPI ~ Endpoint-Fehlerbehandlung ~
Mehrfachverarbeitungsfehler in Jupyter Notebook
Umgang mit Zitaten in [bash]
Umgang mit spärlichen Matrizen in Scipy
Memorandum zur Fehlerbehandlung bei PyCUDA-Builds
Relative URL-Verarbeitung in Python
Löser Problem Fehler in der Poesie
Fehler geteilt durch 0 Behandlung von ZeroDivisionError
Umgang mit JSON-Dateien in Python
Behandlung von Zeitzonen in Python (Datum / Uhrzeit, Pytz)
Beim Imputator von Scikit-Learn ist ein Fehler aufgetreten
Behebung eines Fehlers bei fehlenden Setuptools in Anaconda
Fehlerbehandlung beim Aktualisieren der Fischschale
So unterdrücken Sie Anzeigefehler in matplotlib
Umgang mit Zeichencodes von Dateien in IronPython
Die Geschichte eines Fehlers in PyOCR
In pip install clang: error: unbekanntes Argument: '- mno-fused-madd'
Fehlerbehandlung während der Django-Migration 'DIRS': [BASE_DIR / 'Templates']
[Illegale Hardware-Anweisung Python] Fehler in PyMC3
Fehler bei bereits verwendeter Adresse beheben
Ich speichere in UTF-8, aber Syntaxfehler
Wörterbuchschlüsselfehler → Mit Schlüssel in dicionary beheben
Lösung für Laufzeitfehler in OpenVINO IEPlugin.load ()
Beispiel für den Umgang mit EML-Dateien in Python
Modulimport und Ausnahmebehandlung in Python
Importfehler: Kein Modul mit dem Namen 'xxxxx' in Python3