Exceptions Allows seperation of error handling Detect errors locally Handle errors where appropriate Has a performance impact with most compilers