New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lesson 7 - Illustrate the structure of a Python traceback schematically #486

Open
wants to merge 1 commit into
base: gh-pages
from

Conversation

Projects
None yet
6 participants
@dwillcox

dwillcox commented Feb 27, 2018

Lesson 7, "Errors and Exceptions" discusses examples of real tracebacks and what different kinds of errors a user can encounter. However, the structure of a Python traceback could be a bit intimidating for new users.

This pull request adds an SVG schematic showing the main pieces of a traceback and the connections between them. I also added supporting text to briefly describe the overall structure of a traceback and give tips on what to look for when debugging a traceback.

Illustrate the structure of a Python traceback.
Added a schematic showing the main pieces of a traceback and the
connections between them. Also added text to lesson 7 on "Errors and
Exceptions" describing the overall structure of a traceback and giving
tips on what to look for when debugging a traceback.
@rgaiacs

This comment has been minimized.

Contributor

rgaiacs commented Feb 28, 2018

Thanks for the issue. I have mixed feeling if the SVG is the best way to illustrate the structure. Maybe a table where the first column is the Python traceback and the second column is the structure information? Using tables should make easy to have our lesson accessible.

@annefou

This comment has been minimized.

Collaborator

annefou commented Mar 10, 2018

Yes I fully agree. A table would be easier to maintain and offer more possibility to easily contribute to the lesson. @dwillcox what is your opinion? Do you think you could build a table?

Thanks for your contribution.

@maxim-belkin

This comment has been minimized.

Collaborator

maxim-belkin commented Apr 6, 2018

  1. SVG rocks.
  2. I know the basic syntax of SVG but not enough to make complex changes (if they are ever required) manually. We can use some software to work with SVGs (like @dwillcox did here) but we have to discuss this first.

Meanwhile, @dwillcox could you please clean up SVG to remove unnecessary code and make it as simple as possible so that we could estimate the level of effort that will be required to maintain it in the long run?

@rgaiacs

This comment has been minimized.

Contributor

rgaiacs commented Apr 8, 2018

so that we could estimate the level of effort that will be required to maintain it in the long run?

From my experience, maintain SVG files is hard both in terms of browser support (see one issue that we had a few months ago) and edit software (some editors add additional information).

@@ -29,7 +29,26 @@ they become much easier to fix.

Errors in Python have a very specific form,
called a [traceback]({{ page.root }}/reference/#traceback).
Let's examine one:
A traceback can contain a lot of information, so the following
schematic highlights the main sections of a traceback.

This comment has been minimized.

@gvwilson

gvwilson Apr 13, 2018

Member

I like the idea of a diagram to explain tracebacks, but I have to admit that I found this diagram more confusing than enlightening: I didn't understand what the red arrows were pointing from or to.

@maxim-belkin maxim-belkin force-pushed the swcarpentry:gh-pages branch from 4753644 to 90848ea Oct 12, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment