Rexx - Penanganan Error

Rexx memiliki kemampuan untuk juga mengerjakan penanganan Error seperti pada bahasa pemrograman lainnya.

Berikut ini adalah beberapa dari berbagai kondisi kesalahan yang terlihat di Rexx.

  • ERROR - Ini bahkan dimunculkan setiap kali perintah yang dikirim ke sistem operasi menghasilkan kesalahan.

  • FAILURE - Ini bahkan dimunculkan setiap kali perintah yang dikirim ke sistem operasi menghasilkan kegagalan.

  • HALT- Ini biasanya dinaikkan setiap kali suatu operasi bergantung pada operasi lain. Contohnya adalah jika operasi I / O dihentikan karena alasan apa pun.

  • NOVALUE - Acara ini dimunculkan ketika nilai belum ditetapkan ke variabel.

  • NOTREADY - Ini dimunculkan oleh perangkat I / O yang tidak siap untuk menerima operasi apa pun.

  • SYNTAX - Acara ini dimunculkan jika ada kesalahan sintaks dalam kode.

  • LOSTDIGITS - Peristiwa ini dimunculkan ketika operasi aritmatika mengakibatkan hilangnya digit selama operasi.

Kesalahan Perangkap

Kesalahan terjebak dengan bantuan perintah sinyal. Mari kita lihat sintaks dan contohnya.

Sintaksis

signal on [Errorcondition]

Dimana,

  • Errorcondition - Ini adalah kondisi kesalahan yang diberikan di atas.

Contoh

Mari kita lihat contohnya.

/* Main program */ 
signal on error 
signal on failure 
signal on syntax 
signal on novalue beep(1) 
signal off error 
signal off failure
signal off syntax 
signal off novalue 
exit 0 
error: failure: syntax: novalue: 
say 'An error has occured'

Dalam contoh di atas, pertama-tama kita mengaktifkan sinyal kesalahan. Kami kemudian menambahkan pernyataan yang akan menghasilkan kesalahan. Kami kemudian memiliki label perangkap kesalahan untuk menampilkan pesan kesalahan khusus.

Output dari program di atas akan seperti gambar di bawah ini.

An error has occurred.

Contoh kode kesalahan ditunjukkan pada program berikut.

/* Main program */ 
signal on error 
signal on failure 
signal on syntax 
signal on novalue beep(1) 
exit 0 
error: failure: syntax: novalue: 

say 'An error has occured' 
say rc 
say signal

Output dari program di atas akan seperti gambar di bawah ini.

An error has occured 
40 
6