目录

  • 1 Introduction
    • 1.1 Introduction
    • 1.2 Machine Lang, Assembly lang and High-level lang
    • 1.3 History of Java
    • 1.4 Characteristics of Java
    • 1.5 Typical Java Development Environment
    • 1.6 Introduction to Java Application
  • 2 Classes and Objects
    • 2.1 Primitive Types vs. Reference Types
    • 2.2 Classes and Objects
      • 2.2.1 Declaring a Class
      • 2.2.2 Local and Instance Variables
      • 2.2.3 Methods: A Deeper Look
      • 2.2.4 Constructors
  • 3 Control Statements
    • 3.1 Control Structures
    • 3.2 if Selection
    • 3.3 while Repetition
    • 3.4 for Repetition
    • 3.5 do…while repetition
    • 3.6 switch multiple-selection
  • 4 Arrays and Collections
    • 4.1 Arrays
    • 4.2 ArrayList
    • 4.3 Set
    • 4.4 Generic Programming
  • 5 Object-Oriented Programming: Inheritance
    • 5.1 Inheritance
    • 5.2 Superclasses and Subclasses
    • 5.3 Constructors in Subclasses
  • 6 Object-Oriented Programming: Polymorphism
    • 6.1 Polymorphism
    • 6.2 Polymorphic Behavior
    • 6.3 Enable and Disable Polymorphism
  • 7 Exception Handling
    • 7.1 Exceptions
    • 7.2 Error-Handling
  • 8 Java I/O
    • 8.1 Java I/O Streams
    • 8.2 Decorator Design Pattern
  • 9 GUI Components
    • 9.1 AWT and SWING
    • 9.2 Event Model
  • 10 Multithreading
    • 10.1 Life Cycle of a Thread
    • 10.2 Thread Synchronization
    • 10.3 Producer/Consumer
Error-Handling

Error-Handling Overview

}Programsfrequently test conditions to determine how program execution should proceed. 

}Considerthe following pseudocode:

  §Performa task

If the preceding task did notexecute correctly
Perform error processing

Perform next task

  §If the preceding task did not execute correctly
Perform error processing

§

–Begins by performing a task; then tests whether it executed correctly. –If not, perform error processing. 

–Otherwise, continue with the next task.

}Intermixing program and error-handling logic in this manner can make programs difficult toread, modify, maintain and debug—especially in large applications.

}Exception handling enables you to remove error-handling code from the “main line” of program execution

§Improves program clarity

§Enhances modifiability

}Handle any exceptions you choose

  §All exceptions

  §Allexceptions of a certain type 

  §All exceptions of a group of related types (i.e., related through a superclass). 

}Such flexibility reduces the likelihood that errors will be overlooked, thus making programs more robust.

}Exceptions are thrown(i.e., the exception occurs) when a method detects a problem and is unable to handle it. 

}Stacktrace—information displayed when an exception occurs and is not handled. 

}Information includes:

  §The name of the exception in a descriptive message that indicates the problem that occurred 

  §The method-call stack (i.e., the call chain) at the time it occurred. Represents the path of execution that led to the exception method by method.

}This information helps you debug the program. 















.