this post was submitted on 01 Sep 2023
339 points (96.2% liked)

Programming

17483 readers
190 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] Olissipo 1 points 1 year ago (1 children)

My point is, you won't ever try. You'd only use "weak" variables inside the function you're working on.

It's explicit when you absolutely need it to be, when the function is being called and you need to know what arguments to pass and what it'll return

[–] [email protected] 1 points 1 year ago (1 children)

A string being parsed as a date-time is presumably user input, which is potentially invalid.

[–] Olissipo 1 points 1 year ago (1 children)

When you say user, you mean a user of a function? In that case PHP would throw a TypeError, and presumably only happens when developing/testing.

If you mean in production, like when submitting a form, an Exception may be thrown. In which case you catch it and return some error message to the user saying the date string is invalid.

[–] [email protected] 1 points 1 year ago (1 children)

By “user” I mean the person who is using the application.

Using exceptions for handling unexceptional errors (like invalid user input) is a footgun. You don't know when one might be raised, nor what type it will have, so you can easily forget to catch it and handle it properly, and then your app crashes.

[–] Olissipo 1 points 1 year ago

you can easily forget to catch it and handle it properly

Even if I coded the form by hand and that happened, it's on me, not on the programming language.

But I don't, I use a framework which handles all that boilerplate validation for me.