Gestion des exceptions | Web SDK

Important : Veuillez noter que votre ID de l'application est votre Clé API.

Une bonne pratique en matière de programmation consiste à écrire un code qui suppose et anticipe que les choses vont mal se passer. Par exemple, un client peut ne pas être connecté à Internet lorsqu'il essaie de se connecter à une session.

Les SDK Web comprend des gestionnaires d'achèvement et des événements d'exception qui révèlent les exceptions au moment de l'exécution.

Gestionnaires d'achèvement

Pour de nombreuses méthodes qui se terminent de manière asynchrone, le dernier paramètre que vous passez est une fonction de gestion de l'achèvement. Cette fonction est appelée lorsque la méthode se termine ou échoue. En cas d'échec, un objet d'erreur est transmis à la fonction en tant que paramètre.

Par exemple, le code suivant appelle la fonction Session.connect() en transmettant un gestionnaire d'achèvement :

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");
    }
});

Important : Veuillez noter que votre ID de l'application est votre Clé API.

Il est important d'implémenter des gestionnaires d'achèvement pour savoir quand une méthode réussit ou échoue. Dans certains cas, vous pouvez demander à l'utilisateur si une condition du client est à l'origine de l'erreur. Par exemple, si la méthode error.name est définie sur "OT_NOT_CONNECTED" lors de l'appel de la fonction Session.connect() échoue, cela indique que le client n'est pas connecté au réseau.

Pour les autres conditions d'erreur qui ne sont pas imputables au client, vous pouvez examiner le code d'erreur et le message pour connaître la nature de l'erreur. Par exemple, lors de l'appel de la fonction Session.connect() échoue, le code d'erreur 1004 indique que vous avez essayé de vous connecter avec un jeton non valide. Il peut s'agir d'un jeton qui a expiré ou qui ne correspond pas à la session à laquelle vous vous connectez. Pour plus de détails, consultez la propriété message de l'objet d'erreur.

Méthodes avec gestionnaires d'achèvement

Les méthodes suivantes du SDK Web comprennent une fonction completionHandler paramètre. Pour ce paramètre facultatif, vous pouvez passer une fonction qui est appelée lorsque la méthode réussit ou échoue :

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

Vérifier le message pour plus de détails sur l'erreur.

En cas d'erreur, le code de la valeur de la error peut prendre l'une des valeurs suivantes :

Erreurs lors de l'appel Session.connect():
code Description
1004 Erreur d'authentification. Consultez le message d'erreur pour plus de détails. Cette erreur peut se produire si vous transmettez un jeton expiré lorsque vous essayez de vous connecter à une session. Elle peut également se produire si vous transmettez un jeton ou une clé d'API non valide. Assurez-vous que vous générez le jeton à l'aide de la version actuelle de l'un des outils d'authentification de l'API. SDK serveur.
1005 ID de session invalide. Assurez-vous que vous générez l'identifiant de session en utilisant la version actuelle de l'un des logiciels suivants SDK serveur.
1006 Échec de la connexion. Impossible de se connecter à la session. Vous pouvez demander au client de vérifier la connexion réseau.
Erreurs lors de l'appel Session.forceDisconnect():
code Description
1520 Impossible de forcer la déconnexion. Le token du client n'a pas le rôle de modérateur. Une fois que le client s'est connecté à la session, la fonction capabilities de l'objet Session énumère les capacités du client.
Erreurs lors de l'appel Session.forceUnpublish():
code Description
1530 Impossible de forcer la dépublication. Le token du client n'a pas le rôle de modérateur. Une fois que le client s'est connecté à la session, la fonction capabilities de l'objet Session énumère les capacités du client.
1535 Forcer la dépublication sur un flux non valide. Assurez-vous que le flux n'a pas quitté la session avant d'appeler la fonction forceUnpublish() méthode.
Erreurs lors de l'appel Session.publish():
code Description
1010 Publication impossible : le client n'est pas connecté à la session. Vérifiez que votre application fait en sorte que le client se connecte avec succès avant d'essayer de publier. Vérifiez également que le client ne s'est pas déconnecté avant d'essayer de publier.
1500 Impossible de publier. Le jeton du client n'a pas le rôle de publication ou de modérateur. Une fois que le client s'est connecté à la session, la fonction capabilities de l'objet Session énumère les capacités du client.
1601 Erreur interne -- Erreur de l'éditeur WebRTC. Essayez de republier ou de vous reconnecter à la session.
Erreurs lors de l'appel Session.signal():
code Description
1510 Impossible d'émettre un signal. Vérifier que le to du paramètre de signal est définie sur un objet Connexion valide. Assurez-vous également que vous êtes connecté à la session.
Erreurs lors de l'appel Session.subscribe():
code Description
1600 Erreur interne -- Erreur d'abonné WebRTC. Essayez de vous réabonner au flux ou de vous reconnecter à la session.
Erreurs lors de l'appel OT.initPublisher():
code Description
1004 Erreur d'authentification. Consultez le message d'erreur pour plus de détails. Cette erreur peut se produire si vous transmettez un jeton expiré lorsque vous essayez de vous connecter à une session. Elle peut également se produire si vous transmettez un jeton ou une clé d'API non valide. Assurez-vous que vous générez le jeton à l'aide de la version actuelle de l'un des outils d'authentification de l'API. SDK serveur.
Erreurs générales pouvant survenir lors de l'appel d'une méthode :
code Description
1011 Paramètre non valide. Vérifiez que vous avez transmis des valeurs de paramètres valides dans l'appel de la méthode.
2000 Erreur interne. Essayez de vous reconnecter à la session et de réessayer l'action.

Écoute des événements d'exception

Pour détecter tous les événements d'exception, ajoutez un écouteur d'événements pour la fonction exception déclenché par l'objet OT. Toutefois, il est plus facile de réagir aux erreurs dans des gestionnaires d'achèvement pour des méthodes spécifiques.