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