Exception Handling (Cambridge (CIE) A Level Computer Science): Revision Note
Exam code: 9618
Exception handling
What is exception handling?
An exception is an unexpected event that disrupts normal program execution
Exception handling is how a program detects and responds to these errors, allowing it to recover or shut down cleanly
Why use exception handling?
Prevents programs from crashing unexpectedly
Allows for user-friendly error messages
Makes programs more robust and reliable
Handles problems caused by:
Division by zero
File not found or end-of-file errors
Hardware or device failures (e.g. printers, lost connections)
Invalid input from users
Causes of exceptions
Cause | Example |
---|---|
Programming errors | Uninitialised variables, logic errors |
User errors | Entering text instead of a number |
Hardware failure | Lost connection to printer, disk error |
Pseudocode
TRY
// Code that might cause an error
OPEN "data.txt" FOR READ
READ record FROM "data.txt"
SET result = 10 / userInput
EXCEPT
// Code to handle the error
OUTPUT "An error occurred during file processing or division."
CLOSE "data.txt"
ENDTRY
Key terms
Keyword | Purpose |
---|---|
| Starts a block of code that may raise an error |
| Executes if an error occurs in the |
| Marks the end of the exception handling structure |
Python
try:
file = open("data.txt", "r")
line = file.readline()
user_input = int(input("Enter a number: "))
result = 10 / user_input
print("Result:", result)
file.close()
except FileNotFoundError:
print("Error: File not found.")
except ZeroDivisionError:
print("Error: Cannot divide by zero.")
except Exception as e:
print("An unexpected error occurred:", e)
finally:
try:
file.close()
except:
pass # file might not have opened
Java
import java.io.*;
import java.util.Scanner;
public class ExceptionHandlingExample {
public static void main(String[] args) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader("data.txt"));
String line = reader.readLine();
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a number: ");
int userInput = scanner.nextInt();
int result = 10 / userInput;
System.out.println("Result: " + result);
} catch (FileNotFoundException e) {
System.out.println("Error: File not found.");
} catch (ArithmeticException e) {
System.out.println("Error: Cannot divide by zero.");
} catch (IOException e) {
System.out.println("Error reading from file.");
} catch (Exception e) {
System.out.println("An unexpected error occurred: " + e.getMessage());
} finally {
try {
if (reader != null) {
reader.close();
}
} catch (IOException e) {
// Ignore closing error
}
}
}
}
You've read 0 of your 5 free revision notes this week
Unlock more, it's free!
Did this page help you?