

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Penanganan Kesalahan di SDK Siaran Web IVS \| Streaming Real-Time
<a name="broadcast-web-error-handling"></a>

Bagian ini adalah ikhtisar kondisi kesalahan, bagaimana SDK siaran Web melaporkannya ke aplikasi, dan apa yang harus dilakukan aplikasi ketika kesalahan tersebut ditemui. Kesalahan dilaporkan oleh SDK kepada pendengar acara: `StageEvents.ERROR`

```
stage.on(StageEvents.ERROR, (error: StageError) => {
    // log or handle errors here
    console.log(`${error.code}, ${error.category}, ${error.message}`);
});
```

## Kesalahan Panggung
<a name="web-error-handling-stage-errors"></a>

A StageError dilaporkan ketika SDK mengalami masalah yang tidak dapat dipulihkan dan umumnya memerlukan koneksi ulang and/or jaringan intervensi aplikasi untuk pulih.

Setiap dilaporkan `StageError` memiliki kode (atau`StageErrorCode`), pesan (string), dan kategori (`StageErrorCategory`). Masing-masing terkait dengan kategori operasi yang mendasarinya.

Kategori operasi kesalahan ditentukan berdasarkan apakah itu terkait dengan koneksi ke tahap (`JOIN_ERROR`), mengirim media ke tahap (`PUBLISH_ERROR`), atau menerima aliran media yang masuk dari tahap (`SUBSCRIBE_ERROR`).

Properti kode `StageError` melaporkan masalah spesifik:


| Nama | Kode | Tindakan yang Direkomendasikan | 
| --- | --- | --- | 
| TOKEN\_MALFORMED | 1 | Buat token yang valid dan coba lagi membuat instance stage. | 
| TOKEN\_KEDALUWARSA | 2 | Buat token yang belum kedaluwarsa dan coba lagi membuat instance panggung. | 
| BATAS WAKTU | 3 | Waktu operasi habis. Jika tahap ada dan token valid, kegagalan ini kemungkinan merupakan masalah jaringan. Dalam hal ini, tunggu konektivitas perangkat pulih. | 
| FAILED | 4 | Kondisi fatal ditemui ketika mencoba operasi. Periksa detail kesalahan.<br />Jika tahap ada dan token valid, kegagalan ini kemungkinan merupakan masalah jaringan. Dalam hal ini, tunggu konektivitas perangkat pulih.<br />Untuk sebagian besar kegagalan yang terkait dengan stabilitas jaringan, SDK akan mencoba lagi secara internal untuk jangka waktu hingga 30 detik sebelum memancarkan kesalahan GAGAL.  | 
| MEMBATALKAN | 5 | Periksa kode aplikasi dan pastikan tidak ada pemanggilan berulang `join``refreshStrategy`, atau `replaceStrategy` pemanggilan, yang dapat menyebabkan operasi berulang dimulai dan dibatalkan sebelum selesai. | 
| STAGE\_AT\_CAPACITY | 6 | Kesalahan ini menunjukkan bahwa panggung atau akun Anda dalam kapasitas. Jika tahap telah mencapai batas pesertanya, coba operasi lagi ketika tahap tidak lagi dalam kapasitas, dengan menyegarkan strategi. [Jika akun Anda telah mencapai langganan bersamaan atau kuota penayang bersamaan, kurangi penggunaan atau minta peningkatan kuota melalui konsol AWS Service Quotas.](https://console.aws.amazon.com/servicequotas/)  | 
| CODEC\_MISMATCH | 7 | Codec tidak didukung oleh panggung. Periksa browser dan platform untuk dukungan codec. Untuk streaming real-time IVS, browser harus mendukung H.264 codec untuk video dan codec Opus untuk audio. | 
| TOKEN\_NOT\_ALLOWED | 8 | Token tidak memiliki izin untuk operasi. Buat ulang token dengan izin yang benar dan coba lagi. | 
| STAGE\_DELETED | 9 | Tidak ada; mencoba bergabung dengan tahap yang dihapus memicu kesalahan ini. | 
| PARTISIPANT\_TERPUTUS | 10 | Tidak ada; mencoba bergabung dengan token peserta yang terputus memicu kesalahan ini. | 

### StageError Contoh Penanganan
<a name="web-error-handling-stage-errors-example"></a>

Gunakan StageError kode untuk menentukan apakah kesalahan disebabkan oleh token yang kedaluwarsa:

```
stage.on(StageEvents.ERROR, (error: StageError) => {
    if (error.code === StageError.TOKEN_EXPIRED) {
        // recreate the token and stage instance and re-join
    }
});
```

### Kesalahan Jaringan saat Sudah Bergabung
<a name="web-error-handling-stage-errors-network"></a>

Jika koneksi jaringan perangkat mati, SDK mungkin kehilangan koneksinya ke server panggung. Anda mungkin melihat kesalahan di konsol karena SDK tidak dapat lagi menjangkau layanan backend. Posting untuk https://broadcast.stats.live-video.net akan gagal.

Jika Anda menerbitkan and/or langganan, Anda akan melihat kesalahan di konsol yang terkait dengan upaya untuk publish/subscribe.

Secara internal SDK akan mencoba terhubung kembali dengan strategi backoff eksponensial.

**Tindakan**: Tunggu konektivitas perangkat pulih.

## Negara Tersalah
<a name="web-error-handling-errored-states"></a>

Kami menyarankan Anda menggunakan status ini untuk pencatatan aplikasi dan untuk menampilkan pesan kepada pengguna yang memberi tahu mereka tentang masalah konektivitas ke panggung untuk peserta tertentu.

### Publikasikan
<a name="errored-states-publish"></a>

SDK melaporkan `ERRORED` saat publikasi gagal.

```
stage.on(StageEvents.STAGE_PARTICIPANT_PUBLISH_STATE_CHANGED, (participantInfo, state) => {
  if (state === StageParticipantPublishState.ERRORED) {
      // Log and/or display message to user
  }
});
```

### Langganan
<a name="errored-states-subscribe"></a>

SDK melaporkan `ERRORED` saat berlangganan gagal. Ini dapat terjadi karena kondisi jaringan atau jika suatu tahap berada pada kapasitas untuk pelanggan.

```
stage.on(StageEvents.STAGE_PARTICIPANT_SUBSCRIBE_STATE_CHANGED, (participantInfo, state) => {
  if (state === StageParticipantSubscribeState.ERRORED) {
    // Log and/or display message to user
  }
});
```