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

Python

6380 readers
103 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 1 points 1 year ago (2 children)

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

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)
[–] [email protected] 3 points 1 year ago (1 children)

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

@eager_eagle @onlinepersona

[–] [email protected] 1 points 1 year ago

ah yes - that's useful

[–] [email protected] 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.