-
-
Notifications
You must be signed in to change notification settings - Fork 392
Runtime Error Limitations (additional toggle) #7482
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
Comments
I 100% support the addition of runtime error toggles. |
My thoughts based on a conversation in the development channel:
It's probably obvious but my main fear is that operating on bad data or in failed states will be encouraged. and I think there should be reasoning made on what should warrant an error versus allowing something like null propagation (essentially what that first example is doing). You sort of have to compromise between making the language forgiving to users while not pretending they didn't just possibly crash some SQL database or something crazy 😂 |
The plan was always to implement suppression and toggles for types of errors/warnings, the original PR mentioned that, so don't worry! It didn't come with the initial runtime PR due to it needing a more significant API addition that would probably delay having any runtime errors at all. We need to first implement some method of classification of warnings/errors and a uniform way to suppress them, and that's been one of our goals for 2.11. |
So Skripters have to wait 6 months for this to be implemented? As of right now SkriptLang's extremely poor attempt at a "Clockwork release cycle" is only hindering Skripters because the team is allowing these systems being implemented with extremely low feedback. This is a community project, but day in and day out its seeming more like SkriptLang only cares about SkriptLang and not its users. |
Please calm down. 2.11 is releasing in April. |
with all due respect, how would anyone know this? EDIT: |
This comment has been minimized.
This comment has been minimized.
The basics of runtime errors were implemented in 2.10 in order to provide a base to experiment with. The intention is, as you mentioned, to get feedback! Additional features were always meant to come in a later update, once the annotation PR was added. No runtime errors have been added yet, since given the current inability to suppress them, we wanted to only use them where there wasn't any other good option (see recipe pr and similar situations). As Kenzie mentioned, we are in the process of updating the release cycle precisely because of that 6 month delay, and we've been implementing more features that allow us to release things more frequently (see experimental feature toggles so features can be released in patches). I'd ask you to be a little less aggressive in the future, it doesn't really benefit anyone. |
Suggestion
I would like to suggest the addition of runtime toggles. While I understand the benefits of Addons making use of runtime errors, some use cases pose a risk to unnecessary spam and confusion to both entry-level and experienced Skripters.
Why?
Many entry level Skripters tend to not understand the logic behind null values, which is where runtime errors come into play. I think it's important for Skript's coding language to mimic Java's error handling, ex; requiring null checks before checking NBT data (SkBee). For more advanced Skripters, we run the risk of spam in consoles and in the game chats all due to limitations within Skript's error handling.
Skript currently contains many options for runtime errors, such as frame durations, size of each frame, etc. But it lacks total removal. Whether this is incorporated based on runtime types (which I believe could be a great addition) or just a global Enabled / Disabled option for the time being, I think giving experienced users the ability to disable them would be very beneficial. If this is something Skript will consider adding, I highly recommend adding runtime types, or categories, to further allow experienced users receive select runtime errors based on their coding environment / needs.
Other
Thanks for reading! I would love feedback and maybe other views on how this idea could be expanded upon, or if there is a better alternative.
Agreement
The text was updated successfully, but these errors were encountered: