## org.eclipse.uml2.uml
Interface ExceptionHandler

All Superinterfaces:
  Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.notify.Notifier

    public interface ExceptionHandler

extends Element

A representation of the model object 'Exception Handler'. An exception handler is an element that specifies a body to execute in case the specified exception occurs during the execution of the protected node.

The following features are supported:

- `Handler Body`
- `Exception Input`
- `Exception Type`
- `Protected Node`

See Also:
  `UMLPackage.getExceptionHandler()`

Method Summary
`ObjectNode` `getExceptionInput()` Returns the value of the 'Exception Input' reference
`Classifier` `getExceptionType(java.lang.String name)` Retrieves the first `Classifier` with the specified 'Name' from the 'Exception Type' reference list
`Classifier` `getExceptionType(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)` Retrieves the first `Classifier` with the specified 'Name' from the 'Exception Type' reference list
`org.eclipse.emf.common.util.EList<Classifier>` `getExceptionTypes()` Returns the value of the 'Exception Type' reference list.
`ExecutableNode` `getHandlerBody()` Returns the value of the 'Handler Body' reference
`ExecutableNode` `getProtectedNode()` Returns the value of the 'Protected Node' container reference.
`void` `setExceptionInput(ObjectNode value)` Sets the value of the '`Exception Input`' reference
`void` `setHandlerBody(ExecutableNode value)` Sets the value of the '`Handler Body`' reference
`void` `setProtectedNode(ExecutableNode value)` Sets the value of the '`Protected Node`' container reference
`boolean` `validateEdgeSourceTarget(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` An edge that has a source in an exception handler structured node must have its target in the handler also, and vice versa.
`boolean` `validateExceptionBody(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The exception handler and its input object node are not the source or target of any edge.
`boolean` `validateOneInput(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The handler body has one input, and that input is the same as the exception input.
`boolean` `validateResultPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The result pins of the exception handler body must correspond in number and types to the result pins of the protected node.

Methods inherited from interface org.eclipse.uml2.uml.Element

`addKeyword, allOwnedElements, applyStereotype, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedSubstereotype, getAppliedSubstereotypes, getKeywords, getModel, getNearestPackage, getOwnedComments, getOwnedElements, getOwner, getRelationships, getRelationships, getRequiredStereotype, getRequiredStereotypes, getSourceDirectedRelationships, getSourceDirectedRelationships, getStereotypeApplication, getStereotypeApplications, getTargetDirectedRelationships, getTargetDirectedRelationships, getValue, hasKeyword, hasValue, isStereotypeApplicable, isStereotypeApplied, isStereotypeRequired, mustBeOwned, removeKeyword, setValue, unapplyStereotype, validateHasOwner, validateNotOwnSelf`

Methods inherited from interface org.eclipse.emf.ecore.EModelElement
`getEAnnotation, getEAnnotations`

Methods inherited from interface org.eclipse.emf.ecore.EObject
`eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset`

Methods inherited from interface org.eclipse.emf.common.notify.Notifier
`eAdapters, eDeliver, eNotify, eSetDeliver`

Method Detail

### getHandlerBody

    ExecutableNode getHandlerBody()

  Returns the value of the 'Handler Body' reference. A node that is executed if the handler satisfies an uncaught exception.

  Returns:
    the value of the 'Handler Body' reference.
  See Also:
    `setHandlerBody(ExecutableNode)`, `UMLPackage.getExceptionHandler_HandlerBody()`

### setHandlerBody

    void setHandlerBody(ExecutableNode value)

  Sets the value of the '`Handler Body`' reference.

  Parameters:
    `value` - the new value of the 'Handler Body' reference.
  See Also:
    `getHandlerBody()`

### getExceptionInput

    ObjectNode getExceptionInput()

  Returns the value of the 'Exception Input' reference. An object node within the handler body. When the handler catches an exception, the exception token is placed in this node, causing the body to execute.

  Returns:
    the value of the 'Exception Input' reference.
  See Also:
    `setExceptionInput(ObjectNode)`, `UMLPackage.getExceptionHandler_ExceptionInput()`

### setExceptionInput

    void setExceptionInput(ObjectNode value)

  Sets the value of the '`Exception Input`' reference.

  Parameters:
    `value` - the new value of the 'Exception Input' reference.
  See Also:
    `getExceptionInput()`

### getExceptionTypes

    org.eclipse.emf.common.util.EList<Classifier> getExceptionTypes()

  Returns the value of the 'Exception Type' reference list. The list contents are of type `Classifier`. The kind of instances that the handler catches. If an exception occurs whose type is any of the classifiers in the set, the handler catches the exception and executes its body.

  Returns:
    the value of the 'Exception Type' reference list.
  See Also:
    `UMLPackage.getExceptionHandler_ExceptionType()`

### getExceptionType

    Classifier getExceptionType(java.lang.String name)

  Retrieves the first `Classifier` with the specified 'Name' from the 'Exception Type' reference list.

  Parameters:
    `name` - The 'Name' of the `Classifier` to retrieve, or `null`.
  Returns:
    The first `Classifier` with the specified 'Name', or `null`.
  See Also:
    `getExceptionTypes()`

### getExceptionType

    Classifier getExceptionType(java.lang.String name,
                                boolean ignoreCase,
                                org.eclipse.emf.ecore.EClass eClass)

  Retrieves the first `Classifier` with the specified 'Name' from the 'Exception Type' reference list.

  Parameters:
    `name` - The 'Name' of the `Classifier` to retrieve, or `null`.
    `ignoreCase` - Whether to ignore case in `String` comparisons.
    `eClass` - The Ecore class of the `Classifier` to retrieve, or `null`.
  Returns:
    The first `Classifier` with the specified 'Name', or `null`.
  See Also:
    `getExceptionTypes()`

### getProtectedNode

    ExecutableNode getProtectedNode()

  Returns the value of the 'Protected Node' container reference. It is bidirectional and its opposite is '`Handler`'.

  This feature subsets the following features:

  - '`Owner`'
  The node protected by the handler. The handler is examined if an exception propagates to the outside of the node.

  Returns:
    the value of the 'Protected Node' container reference.
  See Also:
    `setProtectedNode(ExecutableNode)`, `UMLPackage.getExceptionHandler_ProtectedNode()`, `ExecutableNode.getHandlers()`

### setProtectedNode

    void setProtectedNode(ExecutableNode value)

  Sets the value of the '`Protected Node`' container reference.

  Parameters:
    `value` - the new value of the 'Protected Node' container reference.
  See Also:
    `getProtectedNode()`

### validateExceptionBody

    boolean validateExceptionBody(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                  java.util.Map<java.lang.Object,java.lang.Object> context)

  The exception handler and its input object node are not the source or target of any edge. true

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### validateResultPins

    boolean validateResultPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                               java.util.Map<java.lang.Object,java.lang.Object> context)

  The result pins of the exception handler body must correspond in number and types to the result pins of the protected node. true

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### validateOneInput

    boolean validateOneInput(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                             java.util.Map<java.lang.Object,java.lang.Object> context)

  The handler body has one input, and that input is the same as the exception input. true

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### validateEdgeSourceTarget

    boolean validateEdgeSourceTarget(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                     java.util.Map<java.lang.Object,java.lang.Object> context)

  An edge that has a source in an exception handler structured node must have its target in the handler also, and vice versa. true

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

Copyright 2003, 2007 IBM Corporation and others. All Rights Reserved.