Computer-science_A-level_Cie
-
computers-and-components6 主题
-
logic-gates-and-logic-circuits2 主题
-
central-processing-unit-cpu-architecture6 主题
-
assembly-language-4 主题
-
bit-manipulation1 主题
-
operating-systems3 主题
-
language-translators2 主题
-
data-security3 主题
-
data-integrity1 主题
-
ethics-and-ownership3 主题
-
database-concepts3 主题
-
database-management-systems-dbms-1 主题
-
data-definition-language-ddl-and-data-manipulation-language-dml1 主题
-
computational-thinking-skills1 主题
-
algorithms14 主题
-
data-types-and-records2 主题
-
arrays2 主题
-
files1 主题
-
introduction-to-abstract-data-types-adt1 主题
-
programming-basics1 主题
-
constructs2 主题
-
structured-programming1 主题
-
program-development-life-cycle2 主题
-
program-design-2 主题
-
program-testing-and-maintenance3 主题
-
user-defined-data-types1 主题
-
file-organisation-and-access-3 主题
-
floating-point-numbers-representation-and-manipulation3 主题
-
protocols2 主题
-
circuit-switching-packet-switching1 主题
-
processors-parallel-processing-and-virtual-machines5 主题
-
boolean-algebra-and-logic-circuits4 主题
-
purposes-of-an-operating-system-os3 主题
-
translation-software3 主题
-
encryption-encryption-protocols-and-digital-certificates3 主题
-
artificial-intelligence-ai4 主题
-
recursion1 主题
-
programming-paradigms4 主题
-
object-oriented-programming7 主题
-
file-processing-and-exception-handling2 主题
-
data-representation5 主题
-
multimedia3 主题
-
compression2 主题
-
networks-and-the-internet11 主题
exception-handling
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 } } }
}
Responses