全部产品
Search
文档中心

Alibaba Cloud SDK:Penanganan pengecualian

更新时间:Nov 10, 2025

Topik ini menjelaskan jenis-jenis pengecualian pada SDK V2.0 dan cara menanganinya.

Jenis pengecualian

Jenis pengecualian

Deskripsi

Aksi yang disarankan

UnretryableException

Pengecualian yang disebabkan oleh masalah jaringan, biasanya muncul ketika jumlah maksimum percobaan ulang telah tercapai akibat gangguan jaringan.

  1. Periksa adanya masalah jaringan di lingkungan tempat program berjalan.

  2. Jika jaringan berfungsi dengan baik, tingkatkan periode timeout dan coba lagi.

ClientException

Pengecualian klien dengan kode status HTTP dalam rentang 400–499, yang dapat disebabkan oleh parameter permintaan tidak valid, kegagalan autentikasi, atau izin yang tidak mencukupi.

Di Troubleshoot, salin RequestId dari pengecualian untuk mendiagnosis kesalahan tersebut, lalu tangani berdasarkan solusi yang diberikan.

ServerException

Pengecualian server dengan kode status HTTP dalam rentang 500–599, yang menunjukkan adanya masalah di sisi server Alibaba Cloud, seperti kesalahan internal server atau layanan yang tidak tersedia.

Coba ulang operasi tersebut. Jika masalah tetap berlanjut setelah beberapa kali percobaan ulang, hubungi kami untuk mendapatkan bantuan.

ThrottlingException

Pengecualian pembatasan laju (throttling) yang muncul ketika pemanggilan API memicu mekanisme throttling Alibaba Cloud.

Sesuaikan frekuensi pemanggilan API Anda agar sesuai dengan batas throttling yang tercantum dalam dokumentasi API.

ClientException, ServerException, dan ThrottlingException menyediakan parameter berikut untuk membantu Anda memecahkan masalah:

  • request_id: Pengidentifikasi unik dari permintaan.

  • status_code: Kode status HTTP yang dikembalikan oleh OpenAPI.

  • code: Kode kesalahan yang dikembalikan oleh OpenAPI.

  • message: Pesan kesalahan yang dikembalikan oleh OpenAPI.

  • data: Informasi detail yang dikembalikan oleh server saat kesalahan terjadi.

Kode contoh:

Penting

Dalam contoh ini, pesan kesalahan hanya ditampilkan sebagai referensi. Dalam skenario bisnis sebenarnya, jangan mengabaikan pengecualian dalam proyek Anda. Kami menyarankan agar Anda menangani pengecualian secara tepat dengan tindakan seperti melaporkan pengecualian, mencatat log, dan melakukan percobaan ulang guna memastikan ketangguhan dan stabilitas sistem Anda.

import os

from alibabacloud_ecs20140526.client import Client
from alibabacloud_ecs20140526.models import DescribeImagesRequest
from alibabacloud_tea_openapi.exceptions import (
    ClientException,
    ServerException,
    ThrottlingException
)
from alibabacloud_tea_openapi.models import Config
from darabonba.exceptions import UnretryableException

'''Elastic Compute Service example'''
# Initialize Config.
config = Config(
    access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
    access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
    region_id='<REGION_ID>'
)
try:
    client = Client(config)
    # Initialize Request.
    request = DescribeImagesRequest(image_id='<IMAGE_ID>', region_id='<REGION_ID>')
    response = client.describe_images(request)
except UnretryableException as e:
    # A network exception occurred. This example only prints the exception. Handle exceptions with care. Do not ignore them in your projects.
    print(e)
except  (ClientException, ServerException, ThrottlingException) as e:
    # A client exception occurred. This example only prints the exception. Handle exceptions with care. Do not ignore them in your projects.
    print(f"RequestId:{e.request_id},StatusCode:{e.status_code},Message:{e.message},Data:{e.data}")

Menyelesaikan pengecualian

Jika terjadi pengecualian saat memanggil API, Anda dapat memperoleh bantuan melalui cara berikut:

  • Di Troubleshoot, salin RequestId dari pengecualian untuk mendiagnosis kesalahan serta menemukan penyebab dan solusinya. Untuk informasi selengkapnya, lihat OpenAPI Troubleshoot.

  • Temukan solusi dalam dokumentasi produk terkait berdasarkan kode kesalahan dalam pengecualian tersebut. Misalnya, untuk kode kesalahan ECS, lihat Kode kesalahan umum.

  • Periksa apakah tersedia solusi di FAQ.

  • Hubungi kami untuk mendapatkan bantuan.