Fehlermeldung von Python-Methode unterdrücken?
Hallo zusammen,
ich habe eine Python Methode mit einem MultiString:
@bot.command(name='test')
async def test(ctx):
await ctx.send(f"""xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx""")
Das Skript funktioniert einwandfrei wenn der String kürzer ist ohne Fehlermeldung. Es funktioniert mit dem langen String auch, bloß mit Fehlermeldung. Um mir Arbeit zu ersparen würde ich gerne die Fehlermeldung zu unterdrücken.
Wie muss der Skript aussehen, damit jegliche Fehlermeldung nur von dieser Methode unterdrückt werden?
2 Antworten
das geht recht einfach mit einem try-catch Konstrukt:
@bot.command(name='test')
async def test(ctx):
try:
await ctx.send(f"""dein-text""")
except:
pass
Quellen:
https://stackoverflow.com/questions/5925918/python-suppressing-errors-from-going-to-commandline
https://stackoverflow.com/questions/6817640/catch-any-error-in-python
[Eigene Meinung!] Sowas kann man fast immer in Google einfügen und suchen.
Das ist keine Fehlermeldung sondern nur ein Hinweis darauf, dass du etwas unkonventionelles machst.
Du kannst das except: auch in except Exception: umwandeln, bzw. Exception durch den Namen des Errors, den dein Code erzeugt, ersetzen.
Quellen:
danke kriege es aber so nicht zum laufen: Meine FehlermeldunG/Hinweis
"Task exception was never retrieved
future: <Task finished coro=<event_message() done, defined at bot.py:29> exception=EchoMessageWarning('Unable to respond to Echo-Messages.')>
Traceback (most recent call last):
File "bot.py", line 46, in event_message
await ctx.channel.clear()
File "C:\Users\Andylar\.virtualenvs\teast-d1SrJa8C\lib\site-packages\twitchio\abcs.py", line 155, in clear
ws = self._get_socket
File "C:\Users\Andylar\.virtualenvs\teast-d1SrJa8C\lib\site-packages\twitchio\dataclasses.py", line 125, in _get_socket
raise EchoMessageWarning('Unable to respond to Echo-Messages.')
twitchio.errors.EchoMessageWarning: Unable to respond to Echo-Messages.2
sry will die nachricht nur unterdrücken und nicht fixen.
@malte314 danke XD, richtige hilfe würde mir aber mehr helfen ;-)
Eigentlich hätte die Antwort von @xxxcyberxxx ausgerecht, meine war mit Kommentaren circa 314 Mal so ausführlich.
Schick mal dein Quelltext, und markiere den teil des Quelltext, der die Fehlermeldung ausgibt.
Das Problem hatte sich behoben. Meine Frage ist 2 Jahre alt.
vielen dank, funkt aber nicht ganz: das "except" gibt mir ne fehlermedlung: "PEP 8: do not use bare 'except'!"