clearly in the blockoutput py module' compute_widths_and_rows(function on line --after allthat is what caused the zerodivisionerror exception to be raised--but we must look at the preceding lines to find where and why cell columns was given this incorrect value in some cases the traceback reveals an exception that occurred in python' standard library or in third-party library although this could mean bug in the libraryin almost every case it is due to bug in our own code here is an example of such tracebackusing python traceback (most recent call last)file "blocks py"line in main(file "blocks py"line in main blocks open(fileencoding="utf "read(file "/usr/lib/python /lib/python /io py"line in __new__ return open(*args**kwargsfile "/usr/lib/python /lib/python /io py"line in open closefdfile "/usr/lib/python /lib/python /io py"line in __init__ _fileio _fileio __init__(selfnamemodeclosefdioerror[errno no such file or directory'hierarchy blkthe ioerror exception at the end tells us clearly what the problem is but the exception was raised in the standard library' io module in such cases it is best to keep reading upward until we find the first file listed that is our program' file (or one of the modules we have created for itso in this case we find that the first reference to our program is to file blocks pyline in the main(function it looks like we have call to open(but have not put the call inside try except block or used with statement python is bit smarter than python and realizes that we want to find the mistake in our own codenot in the standard libraryso it produces much more compact and helpful traceback for exampletraceback (most recent call last)file "blocks py"line in main(file "blocks py"line in main blocks open(fileencoding="utf "read(ioerror[errno no such file or directory'hierarchy blkthis eliminates all the irrelevant detail and makes it easy to see what the problem is (on the bottom lineand where it occurred (the lines above itso no matter how big the traceback isthe last line always specifies the unhandled exceptionand we just have to work back until we find our program' file