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.