Hacker News new | past | comments | ask | show | jobs | submit login

> When printing tracebacks, the interpreter will now point to the exact expression that caused the error instead of just the line. For example:

  Traceback (most recent call last):
    File "distance.py", line 11, in <module>
      print(manhattan_distance(p1, p2))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "distance.py", line 6, in manhattan_distance
      return abs(point_1.x - point_2.x) + abs(point_1.y - point_2.y)
                             ^^^^^^^^^
  AttributeError: 'NoneType' object has no attribute 'x'
This is such a great quality of life improvement.



This is an INCREDIBLE improvement. I'm so excited for it for myself, and I think it will also do wonders for getting new programmers comfortable with the language. Seeing exactly where in the line your error is, is amazing! IMO this 100% cements Python as the single most newbie-friendly language, if there was any question before now (or at least, before the release of 3.11).


You can already get this information for Python 3.6+ with https://friendly-traceback.github.io/docs/index.html


I already move code into separate lines since this is currently missing. This is great indeed. (Although that might still make sense for debugging)


It would sure be great if they made it easier to break to the debugger in case of an unhandled exception, like (setq debug-on-error t) in Emacs Lisp.


This can be done in some IDEs. Although it can get confusimg if you’re working in an app framework that does some sort of catch-all exception handling.


Yeah it seems to me that regular Python should be able to do it though.


Well if you like this, you are going to love 3.10 due for tomortow, because it's packed with a lot of error message improvements.

Everybody talks about the pattern matching, but I'm excited about this. I'm going to upgrade ASAP just so for it.


Oh wow, I completely missed this in the release notes, probably due to not carefully reading them since earlier versions. This is amazing!


Really wish they'd just go and add a way to replace better-exceptions[0]. I don't use it anymore and thus don't really like to maintain it these days, and would love to see it in mainline.

[0] https://GitHub.com/qix-/better-exceptions





Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: