the valueerror exception normally doesn' provide an attribute named strerror ( common name for string error)but you can add it simply by assigning value to it as shown when the example raises the exceptionthe except clause handles it as usual but obtains access to the attributes using you can then access the strerror member to obtain the added information choose runrun module you see python shell window open the application displays an expanded valueerror exceptionas shown in figure - figure - it' possible to add error informa tion to any exception creating and using custom exceptions python provides wealth of standard exceptions that you should use whenever possible these exceptions are incredibly flexibleand you can even modify them as needed (within reasonto meet specific needs for examplethe "passing error information to the callersection of this demonstrates how to modify valueerror exception to allow for additional data howeversometimes you simply must create custom exception because none of the standard exceptions will work perhaps the exception name just doesn' tell the viewer the purpose that the exception serves you may need custom exception for specialized database work or when working with service the example in this section is going to seem little complicated for now because you haven' worked with classes before introduces you to classes and helps you understand how they work if you want to skip this section until after you read you can do so without any problem