-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Doesn't stop execution on errors #5004
Comments
the problem goes far worse.
ERROR: Unable to convert points[0] = 0 to a vec3 of numbers in file , line 2 |
I agree that we need a way of stopping on errors. Currently, both the test frameworks and some people may rely on the current behavior, so I'd suggest that, as a start, we silently introduce a UI + cmd-line setting for this, potentially merged with the existing The question is how to (short-term) structure it for backwards compatibility, until we clean up tests etc., and (longer-term) set up good defaults. Long-term, I'm not sure if this is appropriate for OpenSCAD, but from the compiler world (e.g. clang), we have the concept of first deciding to upgrade warnings to errors ( The current behavior is indeed a bit weird; default is like clang's |
Describe the bug
With "stop on the first warning" set, execution stops on the first warning.
However, it does not stop on errors(!).
To Reproduce
correctly does not print "hello".
reports an error (ERROR: Unable to convert points = 5 to a vector of coordinates in file , line 1), without a stack trace, but then continues and prints "hello".
Expected behavior
Terminate with a stack trace.
Environment and Version info (please complete the following information):
Windows 11, OpenSCAD 2023.12.31.
Additional context
The problem appears to be at
openscad/src/utils/printutils.cc
Line 119 in dc2a0d1
where it handles two cases:
but an ordinary
message_group::Error
withoutno_throw
does nothing.It seems like the second half of the
if
should just check forError
, and not checkno_throw
.The text was updated successfully, but these errors were encountered: