10. A method comprising: receiving a call related to a program error, in which the call is associated with a passed native error instance or the call is associated with a passed exception instance and a calling exception type; determining if the call corresponds to a passed exception instance, and if not, creating a new exception instance of the calling exception type to represent the program exception and preserving information corresponding to any data of the passed native error instance in the new exception instance; or determining if the call corresponds to a passed exception instance, and if so, determining if the calling exception type is an ancestor type of the passed exception instance type, a) if not, creating a new instance of the calling exception type to represent the program exception, or b) if so, preserving the passed exception instance to represent the program exception; receiving the exception instance at an exception manager; outputting a dialog based upon the received exception instance type, and taking a recovery action based upon the received exception instance type.
10. A method comprising: receiving a call related to a program error, in which the call is associated with a passed native error instance or the call is associated with a passed exception instance and a calling exception type; determining if the call corresponds to a passed exception instance, and if not, creating a new exception instance of the calling exception type to represent the program exception and preserving information corresponding to any data of the passed native error instance in the new exception instance; or determining if the call corresponds to a passed exception instance, and if so, determining if the calling exception type is an ancestor type of the passed exception instance type, a) if not, creating a new instance of the calling exception type to represent the program exception, or b) if so, preserving the passed exception instance to represent the program exception; receiving the exception instance at an exception manager; outputting a dialog based upon the received exception instance type, and taking a recovery action based upon the received exception instance type. 13. The method of claim 10 wherein the calling exception type is an ancestor type of the passed exception instance type, and further comprising, preserving information corresponding to data of the passed exception instance in the wrapped exception instance that gets returned.