Am Freitag, den 12.10.2007, 11:52 +0200 schrieb Tim Janik:
> note that in practice, this shouldn't change anything for programmers
> (except for the ability to write better code ;)
> because of G_DISABLE_ASSERT, programmers can already not rely on
> failing assertions to abort their programs (only g_error will reliably
> do that).
I was in strict "HELL, NO!" mode until I read this reasoning. Still I am
not sure if G_DISABLE_ASSERT is a misfeature, since when using g_assert*
instead of g_return* or g_warning you usually really have no good
fallback strategy and therefore accept the program crashing.
So for better error handling I'd suggest keeping the old and boring "if
(blub) { g_warning ... } paradigm.
Also remember that such a dramatic that (external) programmers most
certainly do not expect their program to continue after a failed
assertion (despite the G_DISABLE_ASSERT misfeature). So not calling
abort on failed assertions could make the program eat little children,
if not worse.
So I guess what you really want is some kind of "g_soft_assert" or some
"g_warn_if_fail".
Ciao,
Mathias
--
Mathias Hasselmann <mathias hasselmann gmx de>
http://taschenorakel.de/
Attachment:
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil