[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