Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/ls24004521/monitor on error support #645

Merged
merged 10 commits into from
Oct 25, 2024

Conversation

dom-apuliasoft
Copy link
Collaborator

Description

This PR aims to improve the support for MONITOR functionalities.
Prior to these changes the implementation of MONITOR only allowed to catch errors and running each ON-ERROR clause regardless of the thrown error.

The new implementation should make ON-ERROR clauses work as expected.

Technical notes

The new implementation is build on top of the new InterpreterProgramStatusErrorException. This exception is intended to be thrown every time we have an RPGLE error (not interpreter internal error). This exception is then selectively caught by MonitorStmt that performs the error code match and executes related logic.

Related to:

  • LS24004521

Checklist:

  • If this feature involves RPGLE fixes or improvements, they are well-described in the summary.
  • There are tests for this feature.
  • RPGLE code used for tests is easily understandable and includes comments that clarify the purpose of this feature.
  • The code follows Kotlin conventions (run ./gradlew ktlintCheck).
  • The code passes all tests (run ./gradlew check).
  • Relevant documentation is included in the docs directory.

lanarimarco
lanarimarco previously approved these changes Oct 25, 2024
@lanarimarco
Copy link
Collaborator

Resolve conflicts

@lanarimarco lanarimarco merged commit 658bcbc into develop Oct 25, 2024
1 check passed
@lanarimarco lanarimarco deleted the feature/LS24004521/monitor-on-error-support branch October 25, 2024 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants