# Class MessageFormatException

java.lang.Object
java.lang.Throwable
java.lang.Exception
jakarta.jms.JMSException
jakarta.jms.MessageFormatException
com.sun.messaging.jms.MessageFormatException

All Implemented Interfaces:
  `com.sun.messaging.jmq.jmsclient.logging.Loggable, Serializable`

public class MessageFormatException extends jakarta.jms.MessageFormatException implements com.sun.messaging.jmq.jmsclient.logging.Loggable

This exception must be thrown when a JMS client attempts to use a data type not supported by a message or attempts to read data in a message as the wrong type. It must also be thrown when equivalent type errors are made with message property values. For example, this exception must be thrown if `StreamMessage.writeObject` is given an unsupported class or if `StreamMessage.readShort` is used to read a `boolean` value. Note that the special case of a failure caused by an attempt to read improperly formatted `String` data as numeric values must throw the `java.lang.NumberFormatException`.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MessageFormatException(String reason, String errorCode)`
  Constructs a `MessageFormatException` with the specified reason and error code.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `getLogState()`
  get logging state of this object.
  `void`
  `setLinkedException(Exception ex)`
  This method will also set the cause of the `MessageFormatException`.
  `void`
  `setLogState(boolean state)`
  set state to true if this object is logged.

  ### Methods inherited from class jakarta.jms.JMSException

  `getErrorCode, getLinkedException`

  ### Methods inherited from class Throwable

  `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### MessageFormatException

    public MessageFormatException(String reason, String errorCode)
    Constructs a `MessageFormatException` with the specified reason and error code.
    Parameters:
      `reason` - a description of the exception
      `errorCode` - a string specifying the vendor-specific error code

- ## Method Details

  - ### setLinkedException

    public void setLinkedException(Exception ex)

    This method will also set the cause of the `MessageFormatException`. When a backtrace of the `MessageFormatException` is printed using `printStackTrace` using `printStackTrace` a backtrace of the cause will also get printed.

    Overrides:
      `setLinkedException` in class `jakarta.jms.JMSException`

  - ### setLogState

    public void setLogState(boolean state)
    set state to true if this object is logged.
    Specified by:
      `setLogState` in interface `com.sun.messaging.jmq.jmsclient.logging.Loggable`
    Parameters:
      `state` - boolean

  - ### getLogState

    public boolean getLogState()
    get logging state of this object.
    Specified by:
      `getLogState` in interface `com.sun.messaging.jmq.jmsclient.logging.Loggable`
    Returns:
      boolean true if this object is logged.