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

Errors in computation may ignore the `pause:-1` command. #11

Open
Mysticial opened this Issue Aug 29, 2018 · 1 comment

Comments

Projects
None yet
1 participant
@Mysticial
Owner

Mysticial commented Aug 29, 2018

When the program errors out, it will sometimes ignore the pause:-1 option and pause anyway waiting for the user to press ENTER.

Initially this was by-design. As the user will usually want to know about errors. But I've already had 2 requests to suppress the pause even in the event of an error.

The correct solution is to dump the errors to a log file and exit with the appropriate error code so it can be picked up by scripts.


Internally, the error/exception handling is a mess. Half of the program properly uses C++ exceptions. The other half does an "error-and-exit".

  • Code that properly uses C++ exceptions will gracefully unwind the stack. When control goes back to main(), it is printed out and exits normally (with the proper pause behavior).

  • For the other half of the program that hasn't migrated to the new system yet, it will simply error-and-exit bypassing the proper pause behavior.

@Mysticial

This comment has been minimized.

Show comment
Hide comment
@Mysticial

Mysticial Aug 29, 2018

Owner

Version 0.7.6.9484 adds a pause:-2 which should force even errors to not pause. I haven't had the time to really test it yet.

Logging of errors to a file is non-trivial and will be deferred to a future release.

Owner

Mysticial commented Aug 29, 2018

Version 0.7.6.9484 adds a pause:-2 which should force even errors to not pause. I haven't had the time to really test it yet.

Logging of errors to a file is non-trivial and will be deferred to a future release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment