System.ArgumentException: Argument 'Prompt' cannot be converted to type 'String'

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von xChRoNiKx.

    System.ArgumentException: Argument 'Prompt' cannot be converted to type 'String'

    Hey!

    Ich hatte letzte Woche das gleiche Problem ungefähr, da hatte ich meinen PC neuinstalliert damit es wieder geklappt hat...
    Zufällig builde ich mein Programm, was kommt randomly raus.. das hier:

    VB.NET-Quellcode

    1. ************** Exception Text **************
    2. System.ArgumentException: Argument 'Prompt' cannot be converted to type 'String'.
    3. at Microsoft.VisualBasic.Interaction.MsgBox(Object Prompt, MsgBoxStyle Buttons, Object Title)
    4. at svchost.Form1.VB$StateMachine_39_Form1_Load.MoveNext()
    5. --- End of stack trace from previous location where exception was thrown ---
    6. at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)


    Ich kann mir überhaupt nicht erklären wieso das kommt da es die ganzen Tage ging.. Und jetzt aufeinmal aus dem nichts erscheint das wieder.
    In der Exception steht auch kein Code oder Sonstiges drinne wo ich mich dran orientieren könnte.

    Das Programm ist ein Discord Bot und in Form1.Load startet es den Bot, was die ganzen Tage Problemlos geklappt hat.
    Aber wie gesagt, aufeinmal ist er nicht mehr connected, habe catch as exception in msgbox gemacht und das kam dann raus.

    Das Ding ist auch, manchmal klappt es & manchmal nicht..
    Ich hoffe mir kann mir jemand helfen, ich glaube auch das es irgendein .NET Fehler ist, denn als ich das gleiche Problem letzte Woche hatte & mein PC neuinstalliert habe ging alles wieder bis jetzt Problemlos.

    LG.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „opalutsch“ ()

    Heyho,

    also erstmal wäre es Toll wenn du deinen Code mit uns teilst. Denn sonst können wir nur raten.
    Dann würde ich mal erst sagen pack mal das ganze Zeug aus Form1_Load in einen Button_Click und schaue ob da noch mehr kommt.
    Denn Form1Load schluckt gerne Fehler.

    Desweiteren steht dort ja was falsch ist: Prompt (Object) kann nicht zu String konvertiert werden. Aber mach erstmal den VB6 mist raus weil du ja in .NET Programmierst.
    Hier dazu mal Lektüre: Visual Studio - Empfohlene Einstellungen
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „xChRoNiKx“ ()

    Danke für den Tipp mit VB6.

    Das Ding ist da stand ja "Prompt (Object)", aber im Code habe ich davon nichts benutzt.
    Jetzt habe ich MsgBox zu "MessageBox.Show(ex.Message)" gemacht und es hat mir statt dieser Exception Box den richtigen Fehler angezeigt was "the server responded with error 401 401 unauthorized" war, dadurch das ich einen Fehler gemacht habe in meiner Pastebin was den Token abliest.. War schon kurz vor'm verzweifeln (mal wieder), ich weiß nicht ob das letztens der gleiche Fehler war aber wenn ja, dann war ich echt schön Dumm :P

    LG.
    Hört sich gut an.
    Lese dir dann das hier noch durch: TryCatch ist ein heißes Eisen
    Und versuche dann nur Fehler abzufangen die du auch behandeln kannst. Also wenn der Server nicht erreichbar ist z.b. ist das ok.
    Allerdings alle anderen dann nicht fangen und von der IDE ausgeben lassen.

    Also ala:

    VB.NET-Quellcode

    1. Try
    2. 'Verbindung aufbauen bzw Token in Variable speichern
    3. Catch ex As WebException 'Sollte das nämlich sein für Serverfehler
    4. 'diesen behandeln / Anwendung schließen weil kein Token.
    5. End Try
    6. 'Und hier dann das token verabeiten. und anderen kram dann ohne try-catch.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen