Database System Concepts
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
Bartleby Related Questions Icon

Related questions

bartleby

Concept explainers

Question
It is often said that nothing in life is certain but death and taxes. For a programmer or data scientist, however, nothing is
certain but encountering errors.
In Python, there are two primary types of errors, both of which you are likely familiar with: syntax errors and exceptions.
Syntax errors occur when the proper structure of the language is not followed, while exceptions are errors that occur during
the execution of a program. These include errors such as ZeroDivision Error, TypeError, NameError, and many more!
Under the hood, these errors are based in the concepts of object orientation, and all exceptions are class objects. If you're
interested in more detailed explanations of the structure of exceptions as well as how to create your own, check out this article
from the Python documentation! In the meantime, we'll implement our own version of an Error class.
Complete the Error, SyntaxError, and ZeroDivisionError classes such that they create the correct messages when
called.
• The SyntaxError and ZeroDivisionError classes inherit from the Error class and add functionality that is unique
to those particular errors. Their code is partially implemented for you.
• The add_code method adds a new helpful message to your error, while the write method should print the output that
you see when an error is raised. Do not worry if that code already is already defined; for this problem, it is safe to
overwrite it.
• You can access the parent class methods using the super function
class Error:
ANE
>>> err1 = Error (12, "error.py")
>>>errl.write()
error.py: 12
67 51 37
def _init__(self, line, file):
** YOUR CODE HERE *****"
def format (self):
no
def write(self):
as TETE
return self.file + : + str(self.line)
class SyntaxError (Error):
print (self.format())
>>> err1 = SyntaxError(17, "lab10.py")
>>>errl.write()
lab10.py: 17 SyntaxError : Invalid syntax
>>>erri.add_code(4, "EOL while scanning string literal")
>>> err2 = SyntaxError (18, "lab10.py", 4)
>>> err2.write()
lab10.py: 18 SyntaxError: EOL while scanning string literal
type = 'SyntaxError'
msgs (0 : "Invalid syntax", 1: "Unmatched parentheses", 2: "Incorrect indentation", 3: "missing col
def _init_(self, line, file, code=0):
"*** YOUR CODE HERE ****"
def format (self):
ID BELE
ROICHE
*** YOUR CODE HERE ******"
def add_code(self, code, msg):
"*** YOUR CODE HERE
"
10
class ZeroDivisionError(Error);
>>> errl = ZeroDivisionError(273, "lab10.py")
Derrl.write()
lable.py: 273 ZeroDivisionError: division by zero
type = 'ZeroDivisionError'
def __init__(self, line, file, message='division by zero');
"* YOUR CODE HERE ****
def format (self):
end = self.type + ' :
" YOUR CODE HERE
Use OK to test your code:
(
01
+ self.message
expand button
Transcribed Image Text:It is often said that nothing in life is certain but death and taxes. For a programmer or data scientist, however, nothing is certain but encountering errors. In Python, there are two primary types of errors, both of which you are likely familiar with: syntax errors and exceptions. Syntax errors occur when the proper structure of the language is not followed, while exceptions are errors that occur during the execution of a program. These include errors such as ZeroDivision Error, TypeError, NameError, and many more! Under the hood, these errors are based in the concepts of object orientation, and all exceptions are class objects. If you're interested in more detailed explanations of the structure of exceptions as well as how to create your own, check out this article from the Python documentation! In the meantime, we'll implement our own version of an Error class. Complete the Error, SyntaxError, and ZeroDivisionError classes such that they create the correct messages when called. • The SyntaxError and ZeroDivisionError classes inherit from the Error class and add functionality that is unique to those particular errors. Their code is partially implemented for you. • The add_code method adds a new helpful message to your error, while the write method should print the output that you see when an error is raised. Do not worry if that code already is already defined; for this problem, it is safe to overwrite it. • You can access the parent class methods using the super function class Error: ANE >>> err1 = Error (12, "error.py") >>>errl.write() error.py: 12 67 51 37 def _init__(self, line, file): ** YOUR CODE HERE *****" def format (self): no def write(self): as TETE return self.file + : + str(self.line) class SyntaxError (Error): print (self.format()) >>> err1 = SyntaxError(17, "lab10.py") >>>errl.write() lab10.py: 17 SyntaxError : Invalid syntax >>>erri.add_code(4, "EOL while scanning string literal") >>> err2 = SyntaxError (18, "lab10.py", 4) >>> err2.write() lab10.py: 18 SyntaxError: EOL while scanning string literal type = 'SyntaxError' msgs (0 : "Invalid syntax", 1: "Unmatched parentheses", 2: "Incorrect indentation", 3: "missing col def _init_(self, line, file, code=0): "*** YOUR CODE HERE ****" def format (self): ID BELE ROICHE *** YOUR CODE HERE ******" def add_code(self, code, msg): "*** YOUR CODE HERE " 10 class ZeroDivisionError(Error); >>> errl = ZeroDivisionError(273, "lab10.py") Derrl.write() lable.py: 273 ZeroDivisionError: division by zero type = 'ZeroDivisionError' def __init__(self, line, file, message='division by zero'); "* YOUR CODE HERE **** def format (self): end = self.type + ' : " YOUR CODE HERE Use OK to test your code: ( 01 + self.message
Expert Solution
Check Mark
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education