Découvrez les types d'exceptions du SDK V2.0 et comment les gérer.
Types d'exceptions
Le SDK V2.0 classe les exceptions dans les catégories suivantes :
TeaUnretryableException : levée lorsque des problèmes réseau persistent après épuisement des tentatives de nouvelle exécution. Appelez
exception.getLastRequestpour inspecter la requête ayant échoué.-
TeaException : indique une erreur métier. Utilisez les paramètres suivants pour le dépannage :
code : code d'erreur métier OpenAPI.
message : message d'erreur contenant le RequestId.
data : informations détaillées sur l'erreur renvoyées par le serveur.
Cet exemple affiche uniquement une sortie à titre de démonstration. En production, gérez correctement les exceptions : propagez-les, journalisez-les ou tentez une récupération afin de garantir la stabilité du système.
import com.aliyun.ecs20140526.models.DescribeRegionsRequest;
import com.aliyun.tea.TeaException;
import com.aliyun.tea.TeaUnretryableException;
import com.aliyun.tea.ValidateException;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.teautil.models.RuntimeOptions;
public class Sample {
public static void main(String[] args) throws Exception {
Config config = new com.aliyun.teaopenapi.models.Config();
// Get the AccessKey ID of the RAM user from an environment variable.
config.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"));
// Get the AccessKey secret of the RAM user from an environment variable.
config.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// The region ID.
config.setRegionId("<regionId>");
com.aliyun.ecs20140526.Client client = new com.aliyun.ecs20140526.Client(config);
DescribeRegionsRequest describeRegionsRequest = new DescribeRegionsRequest();
try {
client.describeRegions(describeRegionsRequest);
} catch(TeaUnretryableException ue) {
// This is for demonstration only. Handle exceptions with caution and do not ignore them in your project.
ue.printStackTrace();
// Print the error message.
System.out.println(ue.getMessage());
// Print the request record.
System.out.println(ue.getLastRequest());
} catch (TeaException e) {
// This is for demonstration only. Handle exceptions with caution and do not ignore them in your project.
e.printStackTrace();
// Print the error code.
System.out.println(e.getCode());
// Print the error message, which includes the RequestId.
System.out.println(e.getMessage());
// Print the specific content returned by the server.
System.out.println(e.getData());
}
}
}
Gestion des exceptions
Pour résoudre les exceptions liées aux appels d'API :
Copiez le RequestId issu de l'exception et utilisez OpenAPI Diagnostics pour identifier la cause. OpenAPI Diagnostics.
Recherchez le code d'erreur dans la documentation du produit concerné.
Consultez la FAQ pour obtenir une solution.
Contactez le support technique.