Exceptions and pre-conditions: Difference between revisions
Mr. MacKenty (talk | contribs) |
Mr. MacKenty (talk | contribs) |
||
Line 29: | Line 29: | ||
[[File:Exception example.png| | [[File:Exception example.png|700px]] | ||
== Standards == | == Standards == |
Revision as of 08:55, 19 August 2021
![](/images/f/f0/Arrows.png)
Exceptions[1]
An exception is an anomalous or exceptional condition requiring special processing – often changing the normal flow of program execution[2].
Be careful not to confuse an exception with an error.
An error "indicates serious problems that a reasonable application should not try to catch." An Exception "indicates conditions that a reasonable application might want to catch."[3].
We use the term "catch an exception" to catch exceptions and plan how the program should respond.
Identifying exceptions[edit]
The exceptions below are common. There are many other types of exceptions.
- consider different data types (are you passing an int to a function which is expecting a string?)
- consider inaccurate user input (accidental or deliberate)
- consider writing or reading a to file - there could be a failure opening, writing, or closing to file
- consider memory limitations - this is especially important when you are working with large datasets
- consider the possibility a user might attempt to interrupt the program (usually by pressing control-C).
For a list of common exceptions, please click here
Example[edit]
# here is some code with a deliberate error. There should be two apostrophe's for the end argument.
print("hello world", end=')
print("from Warsaw")
print("=" * 25)
Standards[edit]
These standards are used from the IB Computer Science Subject Guide[4]
- Identify exceptions that need to be considered in a specified problem solution.
References[edit]
- ↑ http://www.flaticon.com/
- ↑ https://en.wikipedia.org/wiki/Exception_handling
- ↑ https://stackoverflow.com/questions/5813614/what-is-difference-between-errors-and-exceptions
- ↑ IB Diploma Programme Computer science guide (first examinations 2014). Cardiff, Wales, United Kingdom: International Baccalaureate Organization. January 2012.