Class UnsupportedTypeException

All Implemented Interfaces:
Serializable

public final class UnsupportedTypeException extends InteropException
An exception thrown if a TruffleObject does not support the type of one or more arguments.
Since:
0.11
See Also:
  • Method Details

    • getSuppliedValues

      public Object[] getSuppliedValues()
      Returns the arguments of the foreign object access that were not supported by the TruffleObject.
      Returns:
      the unsupported arguments
      Since:
      0.11
    • create

      public static UnsupportedTypeException create(Object[] suppliedValues)
      Creates an UnsupportedTypeException to indicate that an argument type is not supported.
      Since:
      19.0
    • create

      public static UnsupportedTypeException create(Object[] suppliedValues, String hint)
      Creates an UnsupportedTypeException to indicate that an argument type is not supported.
      Since:
      19.0
    • create

      public static UnsupportedTypeException create(Object[] suppliedValues, String hint, Throwable cause)
      Creates an UnsupportedTypeException to indicate that an argument type is not supported.

      In addition a cause may be provided. The cause should only be set if the guest language code caused this problem. An example for this is a language specific proxy mechanism that invokes guest language code to describe an object. If the guest language code fails to execute and this interop exception is a valid interpretation of the error, then the error should be provided as cause. The cause can then be used by the source language as new exception cause if the InteropException is translated to a source language error. If the InteropException is discarded, then the cause will most likely get discarded by the source language as well. Note that the cause must be of type AbstractTruffleException otherwise an IllegalArgumentException is thrown.

      This method is designed to be used in compiled code paths.

      Parameters:
      cause - the guest language exception that caused the error.
      Since:
      20.2