Ausnahmebehandlung | Web SDK

Das ist wichtig: Bitte beachten Sie, dass Ihr App-ID ist Ihr API-Schlüssel.

Eine bewährte Praxis bei der Programmierung ist es, Code zu schreiben, der davon ausgeht, dass etwas schief gehen kann. Zum Beispiel kann ein Client nicht mit dem Internet verbunden sein, wenn er versucht, eine Verbindung zu einer Sitzung herzustellen.

Die Web-SDK umfasst Abschlusshandler und Ausnahmeereignisse, die Ausnahmen zur Laufzeit aufzeigen.

Fertigstellungshandler

Bei vielen Methoden, die asynchron abgeschlossen werden, ist der letzte Parameter, den Sie übergeben, eine Abschlusshandlerfunktion. Diese Funktion wird aufgerufen, wenn die Methode abgeschlossen ist oder fehlschlägt. Wenn sie fehlschlägt, wird der Funktion ein Fehlerobjekt als Parameter übergeben.

Zum Beispiel ruft der folgende Code die Session.connect() Methode und übergibt einen Abschluss-Handler:

var session = OT.initSession(apiKey, session);
session.connect(token, function (error) {
    if (error) {
    console.log("Failed to connect: ", error.message);
    if (error.name === "OT_NOT_CONNECTED") {
        alert("You are not connected to the internet. Check your network connection.");
    }
    } else {
    console.log("Connected");
    }
});

Das ist wichtig: Bitte beachten Sie, dass Ihr App-ID ist Ihr API-Schlüssel.

Es ist wichtig, Beendigungshandler zu implementieren, um zu sehen, wann eine Methode erfolgreich ist oder fehlschlägt. In einigen Fällen können Sie den Benutzer fragen, ob es eine Client-Bedingung gibt, die den Fehler verursacht hat. Zum Beispiel, wenn die error.name Eigenschaft auf "OT_NOT_CONNECTED" gesetzt ist, wenn der Aufruf der Session.connect() Methode fehlschlägt, bedeutet dies, dass der Client nicht mit dem Netz verbunden ist.

Bei anderen Fehlerzuständen, die nicht auf den Client zurückzuführen sind, können Sie den Fehlercode und die Meldung untersuchen, um die Art des Fehlers zu ermitteln. Zum Beispiel, wenn Sie die Funktion Session.connect() Methode fehlschlägt, zeigt ein Fehlercode von 1004 an, dass Sie versucht haben, eine Verbindung mit einem ungültigen Token herzustellen. Dabei kann es sich um ein abgelaufenes Token handeln oder um ein Token, das nicht mit der Sitzung übereinstimmt, zu der Sie eine Verbindung herstellen. Prüfen Sie die Nachrichteneigenschaft des Fehlerobjekts auf Einzelheiten.

Methoden mit Abschlusshandlern

Die folgenden Methoden im Web SDK enthalten eine completionHandler Parameter. Für diesen optionalen Parameter können Sie eine Funktion übergeben, die aufgerufen wird, wenn die Methode erfolgreich ist oder fehlschlägt:

  • Session.forceDisconnect()
  • Session.forceUnpublish()
  • Session.connect()
  • Session.publish()
  • Session.signal()
  • Session.subscribe()
  • OT.initPublisher()

Prüfen Sie die message Eigenschaft für weitere Details über den Fehler.

Im Falle eines Fehlers wird die code Wert des error kann einen der folgenden Werte annehmen:

Fehler beim Aufruf Session.connect():
Code Beschreibung
1004 Authentifizierungsfehler. Prüfen Sie die Fehlermeldung auf Einzelheiten. Dieser Fehler kann auftreten, wenn Sie beim Versuch, eine Verbindung zu einer Sitzung herzustellen, ein abgelaufenes Token eingeben. Er kann auch auftreten, wenn Sie ein ungültiges Token oder einen ungültigen API-Schlüssel eingeben. Stellen Sie sicher, dass Sie das Token mit der aktuellen Version eines der Server-SDKs.
1005 Ungültige Sitzungs-ID. Stellen Sie sicher, dass Sie die Sitzungs-ID mit der aktuellen Version einer der Server-SDKs.
1006 Verbindung fehlgeschlagen. Die Verbindung zur Sitzung konnte nicht hergestellt werden. Sie sollten den Client die Netzwerkverbindung überprüfen lassen.
Fehler beim Aufruf Session.forceDisconnect():
Code Beschreibung
1520 Trennen der Verbindung kann nicht erzwungen werden. Im Token des Clients ist die Rolle nicht auf "Moderator" eingestellt. Sobald der Client mit der Sitzung verbunden ist, wird die capabilities Eigenschaft des Session-Objekts listet die Fähigkeiten des Clients auf.
Fehler beim Aufruf Session.forceUnpublish():
Code Beschreibung
1530 Unveröffentlichung kann nicht erzwungen werden. Im Token des Clients ist die Rolle nicht auf "Moderator" eingestellt. Sobald der Client eine Verbindung zur Sitzung hergestellt hat, wird die capabilities Eigenschaft des Session-Objekts listet die Fähigkeiten des Clients auf.
1535 Unveröffentlichung bei einem ungültigen Stream erzwingen. Stellen Sie sicher, dass der Stream die Sitzung nicht verlassen hat, bevor Sie die Funktion forceUnpublish() Methode.
Fehler beim Aufruf Session.publish():
Code Beschreibung
1010 Veröffentlichung nicht möglich: Der Client ist nicht mit der Sitzung verbunden. Vergewissern Sie sich, dass Ihre Anwendung den Client erfolgreich verbindet, bevor Sie versuchen zu veröffentlichen. Stellen Sie sicher, dass der Client die Verbindung nicht unterbrochen hat, bevor Sie versuchen, zu veröffentlichen.
1500 Veröffentlichen nicht möglich. Auf dem Token des Clients ist die Rolle nicht auf "Veröffentlichen" oder "Moderator" eingestellt. Sobald der Client eine Verbindung zur Sitzung hergestellt hat, wird der capabilities Eigenschaft des Session-Objekts listet die Fähigkeiten des Clients auf.
1601 Interner Fehler - WebRTC-Publisher-Fehler. Versuchen Sie, die Sitzung neu zu veröffentlichen oder erneut zu verbinden.
Fehler beim Aufruf Session.signal():
Code Beschreibung
1510 Das Signal kann nicht empfangen werden. Prüfen Sie, ob die to Eigenschaft des Signalparameters auf ein gültiges Connection-Objekt gesetzt ist. Stellen Sie außerdem sicher, dass Sie mit der Sitzung verbunden sind.
Fehler beim Aufruf Session.subscribe():
Code Beschreibung
1600 Interner Fehler - WebRTC-Teilnehmerfehler. Versuchen Sie, den Stream erneut zu abonnieren oder sich erneut mit der Sitzung zu verbinden.
Fehler beim Aufruf OT.initPublisher():
Code Beschreibung
1004 Authentifizierungsfehler. Prüfen Sie die Fehlermeldung auf Einzelheiten. Dieser Fehler kann auftreten, wenn Sie beim Versuch, eine Verbindung zu einer Sitzung herzustellen, ein abgelaufenes Token eingeben. Er kann auch auftreten, wenn Sie ein ungültiges Token oder einen ungültigen API-Schlüssel eingeben. Stellen Sie sicher, dass Sie das Token mit der aktuellen Version eines der Server-SDKs.
Allgemeine Fehler, die beim Aufruf jeder Methode auftreten können:
Code Beschreibung
1011 Ungültiger Parameter. Überprüfen Sie, ob Sie gültige Parameterwerte an den Methodenaufruf übergeben haben.
2000 Interner Fehler. Versuchen Sie, die Verbindung zur Sitzung wiederherzustellen und die Aktion erneut zu versuchen.

Abhören von Ausnahmeereignissen

Um alle Ausnahmeereignisse zu erkennen, fügen Sie einen Ereignislistener für die exception Ereignis, das durch das OT-Objekt ausgelöst wird. Es ist jedoch einfacher, auf Fehler in Abschlusshandlern für bestimmte Methoden zu reagieren.