# Interface MethodExitEvent

All Superinterfaces:
  `Event, Locatable, LocatableEvent, Mirror`

public interface MethodExitEvent extends LocatableEvent
Notification of a method return in the target VM. This event is generated after all code in the method has executed, but the location of this event is the last executed location in the method. Method exit events are generated for both native and non-native methods. Method exit events are not generated if the method terminates with a thrown exception.

Since:
  1.3
See Also:
  - `EventQueue`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Method`
  `method()`
  Returns the method that was exited.
  `Value`
  `returnValue()`
  Returns the value that the method will return.

  ### Methods declared in interface Event

  `request`
  Modifier and Type
  Method
  Description
  `EventRequest`
  `request()`

  ### Methods declared in interface Locatable

  `location`
  Modifier and Type
  Method
  Description
  `Location`
  `location()`
  Returns the `Location` of this mirror, if there is executable code associated with it.

  ### Methods declared in interface LocatableEvent

  `thread`
  Modifier and Type
  Method
  Description
  `ThreadReference`
  `thread()`
  Returns the thread in which this event has occurred.

  ### Methods declared in interface Mirror

  `toString, virtualMachine`
  Modifier and Type
  Method
  Description
  `String`
  `toString()`
  Returns a String describing this mirror
  `VirtualMachine`
  `virtualMachine()`
  Gets the VirtualMachine to which this Mirror belongs.

- ## Method Details

  - ### method

    Method method()
    Returns the method that was exited.
    Returns:
      a `Method` which mirrors the method that was exited.
    Throws:
      `ObjectCollectedException` - may be thrown if class has been garbage collected.

  - ### returnValue

    Value returnValue()
    Returns the value that the method will return. Not all target virtual machines support this operation. Use `canGetMethodReturnValues()` to determine if this operation is supported.
    Returns:
      a `Value` which mirrors the value to be returned.
    Throws:
      `UnsupportedOperationException` - if the target virtual machine does not support this operation - see `canGetMethodReturnValues()`
    Since:
      1.6