Exceptions and pre-conditions: Difference between revisions

From Computer Science Wiki
No edit summary
Line 7: Line 7:
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."<ref>https://stackoverflow.com/questions/5813614/what-is-difference-between-errors-and-exceptions</ref>.
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."<ref>https://stackoverflow.com/questions/5813614/what-is-difference-between-errors-and-exceptions</ref>.


We use the term "catch an exception" to write conditional statements if an exception occurs, how should the program respond.  
We use the term "catch an exception" to catch exceptions and plan how the program should respond.  


== Identifying exceptions ==
== Identifying exceptions ==

Revision as of 18:25, 24 July 2017

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.

  1. consider different data types (are you passing an int to a function which is expecting a string?)
  2. consider inaccurate user input (accidental or deliberate)
  3. consider writing or reading a to file - there could be a failure opening, writing, or closing to file
  4. consider memory limitations - this is especially important when you are working with large datasets
  5. 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]

I am writing a program to calculate your final grade. The program accepts as input your name, all your grades, averages them, and then outputs your name and a final score.

What exceptions might we consider?

  1. What if a student is missing a score?
  2. What if a score is non-standard (instead of an integer, we have a letter)?
  3. What if a there is non-standard character in a student name?

Do you understand this?[edit]

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]

  1. http://www.flaticon.com/
  2. https://en.wikipedia.org/wiki/Exception_handling
  3. https://stackoverflow.com/questions/5813614/what-is-difference-between-errors-and-exceptions
  4. IB Diploma Programme Computer science guide (first examinations 2014). Cardiff, Wales, United Kingdom: International Baccalaureate Organization. January 2012.