"Nearly 90% of the error messages encountered for this problem are SyntaxError, TypeError, NameError, ValueError, or AttributeError. We will look at these errors in three stages:
First we will define what these four error messages mean.
we will look at some examples that cause these errors to occur.
Finally we will look at ways to help uncover the root cause of these messages."
However, unlike the other aforementioned error types, AttributeError is never described or discussed in this section.
I suspect this is because the term attribute is not defined until object-oriented terms are introduced. I guess I would suggest rewording the promise as "We will look at the first three of these errors in three stages:"
"Nearly 90% of the error messages encountered for this problem are SyntaxError, TypeError, NameError, ValueError, or AttributeError. We will look at these errors in three stages:
However, unlike the other aforementioned error types, AttributeError is never described or discussed in this section.
I suspect this is because the term attribute is not defined until object-oriented terms are introduced. I guess I would suggest rewording the promise as "We will look at the first three of these errors in three stages:"