Discussion:
tired of not having exit(code), ER proposed
ketmar via Digitalmars-d
2014-09-29 02:30:05 UTC
Permalink
Hello.

i'm really got tired of writing try/catch boilerplate in main() just to
be able to exit from some inner function, setup exitcode and suppress
stack trace. so i wrote this small ER:
https://issues.dlang.org/show_bug.cgi?id=13554

it adds ExitError to core.exception. when runtime catches it, runtime
will set error code and exit silently instead of printing error message
and stack trace. so now you can avoid wrapping your main in boilerplate
try/catch and easily exit from anywhere just by throwing ExitError.

sure you still can catch ExitError in your main(), do some cleanup and
rethrow it if you want to.

it's simple, it's easy, it's handy.

happy hacking.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20140929/b1ec9343/attachment.sig>
Dicebot via Digitalmars-d
2014-09-29 12:49:41 UTC
Permalink
On Monday, 29 September 2014 at 02:30:16 UTC, ketmar via
Post by ketmar via Digitalmars-d
Hello.
i'm really got tired of writing try/catch boilerplate in main()
just to
be able to exit from some inner function, setup exitcode and
suppress
https://issues.dlang.org/show_bug.cgi?id=13554
it adds ExitError to core.exception. when runtime catches it,
runtime
will set error code and exit silently instead of printing error
message
and stack trace. so now you can avoid wrapping your main in
boilerplate
try/catch and easily exit from anywhere just by throwing
ExitError.
sure you still can catch ExitError in your main(), do some
cleanup and
rethrow it if you want to.
it's simple, it's easy, it's handy.
happy hacking.
What is the benefit of using it over plain C `exit`? Do you rely
on destructors being called upon program termination?
ketmar via Digitalmars-d
2014-09-29 17:41:49 UTC
Permalink
On Mon, 29 Sep 2014 12:49:41 +0000
Post by Dicebot via Digitalmars-d
What is the benefit of using it over plain C `exit`? Do you rely
on destructors being called upon program termination?
sure, proper cleanup was one of the targets. including catching
ExitError if some additional cleanup needed.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20140929/93875226/attachment.sig>
Loading...