this post was submitted on 14 Nov 2023
44 points (94.0% liked)

Python

6356 readers
2 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

πŸ“… Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

🐍 Python project:
πŸ’“ Python Community:
✨ Python Ecosystem:
🌌 Fediverse
Communities
Projects
Feeds

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] onlinepersona@programming.dev 1 points 1 year ago (2 children)

If only python had a throws keyword like in Java. They got that right at least.

[–] eager_eagle@lemmy.world 3 points 1 year ago* (last edited 1 year ago) (1 children)
[–] dozymoe@mastodon.social 3 points 1 year ago (1 children)

I think they meant the registration of what Exceptions a function can possibly throw.

@eager_eagle @onlinepersona

[–] eager_eagle@lemmy.world 1 points 1 year ago

ah yes - that's useful

[–] sugar_in_your_tea@sh.itjust.works 1 points 1 year ago* (last edited 1 year ago)

I disagree, I hate that keyword. Exceptions should be... exceptional, and regular errors should be data. I only want to see exception blocks at top levels for logging and whatnot, everything else should be destructured monads in a match block or similar.

Forgetting a function can throw exceptions is an honest mistake, ignoring errors when you've destructured a return value to get the data is a choice. The former is hard to catch, the latter is plainly obvious in a code review.