Rexx - Xử lý lỗi
Rexx cũng có khả năng xử lý lỗi như trong các ngôn ngữ lập trình khác.
Sau đây là một số tình trạng lỗi khác nhau được thấy trong Rexx.
ERROR - Điều này thậm chí được nâng lên bất cứ khi nào một lệnh được gửi đến hệ điều hành dẫn đến lỗi.
FAILURE - Điều này thậm chí còn được nâng lên bất cứ khi nào một lệnh được gửi đến hệ điều hành dẫn đến lỗi.
HALT- Điều này thường được nâng lên bất cứ khi nào một hoạt động phụ thuộc vào một hoạt động khác. Một ví dụ là nếu hoạt động I / O bị tạm dừng vì bất kỳ lý do gì.
NOVALUE - Sự kiện này được đưa ra khi một giá trị chưa được gán cho một biến.
NOTREADY - Điều này được tạo ra bởi bất kỳ thiết bị I / O nào chưa sẵn sàng chấp nhận bất kỳ hoạt động nào.
SYNTAX - Sự kiện này được nêu ra nếu có bất kỳ lỗi cú pháp nào trong mã.
LOSTDIGITS - Sự kiện này được nêu ra khi một phép tính số học dẫn đến mất chữ số trong quá trình thực hiện.
Lỗi bẫy
Lỗi được mắc kẹt với sự trợ giúp của lệnh tín hiệu. Hãy xem cú pháp và một ví dụ về điều này.
Cú pháp
signal on [Errorcondition]
Ở đâu,
Errorcondition - Đây là điều kiện lỗi được đưa ra ở trên.
Thí dụ
Hãy xem một ví dụ về điều này.
/* 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'
Trong ví dụ trên, trước tiên chúng ta bật các tín hiệu lỗi. Sau đó, chúng tôi thêm một câu lệnh sẽ dẫn đến lỗi. Sau đó, chúng tôi có nhãn bẫy lỗi để hiển thị thông báo lỗi tùy chỉnh.
Kết quả của chương trình trên sẽ như hình dưới đây.
An error has occurred.
Một ví dụ về mã lỗi được hiển thị trong chương trình sau.
/* 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
Kết quả của chương trình trên sẽ như hình dưới đây.
An error has occured
40
6