[m-rev.] for review: add MercuryFatalError exception to the Java runtime
Peter Wang
novalazy at gmail.com
Fri Jan 19 15:34:30 AEDT 2024
On Thu, 18 Jan 2024 14:53:30 +1100 Julien Fischer <jfischer at opturion.com> wrote:
>
> For review by anyone.
>
> ----------------------
>
> Add MercuryFatalError exception to the Java runtime.
>
> Add MercuryFatalError, a new Java exception that is intended to be used for a
> similar purpose to the C runtime's MR_fatal_error() function.
>
> Throw a MercuryFatalError exception instead of calling System.exit() in a spot.
> Calling exit() is fine for executables, but for code that is deployed in an
> application server calling exit() may shut down the entire server.
>
> java/runtime/MercuryFatalError.java:
> Add the new exception.
>
> java/runtime/MercuryOptions.java:
> Do not call System.exit() when we encounter an unrecognized
> option in MERCURY_OPTIONS, throw a MercuryFatalError exception
> instead.
>
> Refactor the process() method in order to avoid indentation.
>
> Catch NumberFormatExceptions thrown when attempting to convert
> integer option values; rethrow them as MercuryFatalErrors.
> (XXX the C version of the runtime just ignores this error.)
>
> java/runtime/JavaInternal.java:
> Catch and report MercuryFatalErrors in the runMain() method.
>
> java/runtime/MercuryWorkerThread.java:
> Add an XXX about a call to System.exit() here.
>
Looks fine to me.
Peter
More information about the reviews
mailing list