That's not suppose to happen

Bug where the Predicate Reporter gets fired after the if statement get's called?


In the time I've programmed in Scratch (and Snap!), I don't think this is suppose to happen.

Can you share the project? Or at least a project with this specific code

(or, just get a script pic of the script)

That way I can import just the script directly without the need for you to share a project.

did you see the GIF above?

The gif is useful to show the behavior you're complaining about, but a script pic (right click on the script you're running and there's an option to download a png of it) contains the actual Snap! code as metadata, so we can drag your script pic into Snap! and it'll load the script and any procedures it needs to run. It's the coolest feature among many cool new features in Snap! 8.0.

Oh yes, I love this new feature. Do you think you'll be able to make it of full project/sprites with the scripts pic?

If you get a scripts pic of all the scripts in a sprite (right-click the editor background), it'll include the whole sprite in the image.

No? I already tried this and nothing happened.

The image is of the scripts, but the metadata contains all the properties of the sprite, I believe.

yup, that's what I'm saying.

Also, I found out that if the script doesn't import when you drag the image from the forum to snap, then you can just click the image to bring up the full size image (or at least the original image). That one can be dragged into snap, no problem.

Wow, I didn't know that! Cool!

well here's the script pic of what i'm talking about (there are also some instructions, neat!):

You're using your own version of TRY that doesn't provide an error handler.

Also, I'm not sure I'm reading your mind correctly, but it looks as if you are confused about the difference between a predicate (such as CONTAINS) reporting False and an error, which means that your program does something wrong and Snap! stops running it.

You are not throwing an error anywhere.
I dont see
(js function\{[throw new Error()]\}::operators)

edit:lemme see what your error block consists of