A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2017-September/149182.html below:

[Python-Dev] PEP 553: Built-in debug()

[Python-Dev] PEP 553: Built-in debug() [Python-Dev] PEP 553: Built-in debug()Nathaniel Smith njs at pobox.com
Tue Sep 5 22:58:46 EDT 2017
On Tue, Sep 5, 2017 at 6:14 PM, Barry Warsaw <barry at python.org> wrote:
> I’ve written a PEP proposing the addition of a new built-in function called debug().  Adding this to your code would invoke a debugger through the hook function sys.debughook().

The 'import pdb; pdb.set_trace()' dance is *extremely* obscure, so
replacing it with something more friendly seems like a great idea.

Maybe breakpoint() would be a better description of what set_trace()
actually does? This would also avoid confusion with IPython's very
useful debug magic:
    https://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-debug
and which might also be worth stealing for the builtin REPL.
(Personally I use it way more often than set_trace().)

Example:

In [1]: def f():
   ...:     x = 1
   ...:     raise RuntimeError
   ...:

In [2]: f()
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-2-0ec059b9bfe1> in <module>()
----> 1 f()

<ipython-input-1-db0dc90ff5b9> in f()
      1 def f():
      2     x = 1
----> 3     raise RuntimeError

RuntimeError:

In [3]: debug
> <ipython-input-1-db0dc90ff5b9>(3)f()
      1 def f():
      2     x = 1
----> 3     raise RuntimeError

ipdb> p x
1

-n

-- 
Nathaniel J. Smith -- https://vorpus.org
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4