This lecture considers some of the ways in which errors can be signalled
by code and highlights their weaknesses. It introduces exceptions as a
safer and more flexible approach, noting that they interrupt normal flow of
control in a program and cannot be ignored. Examples of standard Java
exceptions are presented and the difference between checked and
unchecked exceptions is explained. Consideration is also given to
how we intercept exceptions using
The second part of the lecture explores three different ways of reading from text files, and one way of writing formatted data to a text file. The lecture considers how we deal with the exceptions that may occur during file I/O. It also demonstrates the value of using a ’try with resources' block to ensure that files are closed automatically, regardless of whether an exception occurred.