Back to 课程

Computer-science_A-level_Cie

0% Complete
0/0 Steps
  1. computers-and-components
    6 主题
  2. logic-gates-and-logic-circuits
    2 主题
  3. central-processing-unit-cpu-architecture
    6 主题
  4. assembly-language-
    4 主题
  5. bit-manipulation
    1 主题
  6. operating-systems
    3 主题
  7. language-translators
    2 主题
  8. data-security
    3 主题
  9. data-integrity
    1 主题
  10. ethics-and-ownership
    3 主题
  11. database-concepts
    3 主题
  12. database-management-systems-dbms-
    1 主题
  13. data-definition-language-ddl-and-data-manipulation-language-dml
    1 主题
  14. computational-thinking-skills
    1 主题
  15. algorithms
    14 主题
  16. data-types-and-records
    2 主题
  17. arrays
    2 主题
  18. files
    1 主题
  19. introduction-to-abstract-data-types-adt
    1 主题
  20. programming-basics
    1 主题
  21. constructs
    2 主题
  22. structured-programming
    1 主题
  23. program-development-life-cycle
    2 主题
  24. program-design-
    2 主题
  25. program-testing-and-maintenance
    3 主题
  26. user-defined-data-types
    1 主题
  27. file-organisation-and-access-
    3 主题
  28. floating-point-numbers-representation-and-manipulation
    3 主题
  29. protocols
    2 主题
  30. circuit-switching-packet-switching
    1 主题
  31. processors-parallel-processing-and-virtual-machines
    5 主题
  32. boolean-algebra-and-logic-circuits
    4 主题
  33. purposes-of-an-operating-system-os
    3 主题
  34. translation-software
    3 主题
  35. encryption-encryption-protocols-and-digital-certificates
    3 主题
  36. artificial-intelligence-ai
    4 主题
  37. recursion
    1 主题
  38. programming-paradigms
    4 主题
  39. object-oriented-programming
    7 主题
  40. file-processing-and-exception-handling
    2 主题
  41. data-representation
    5 主题
  42. multimedia
    3 主题
  43. compression
    2 主题
  44. networks-and-the-internet
    11 主题
课 Progress
0% Complete

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

TRY

Starts a block of code that may raise an error

EXCEPT

Executes if an error occurs in the TRY block

ENDTRY

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

您的邮箱地址不会被公开。 必填项已用 * 标注