Package org.apache.sis.referencing.operation.projection

## Class ProjectionException

- Object
- - Throwable
  - - Exception
    - - TransformException
      - - ProjectionException

- All Implemented Interfaces:
    `Serializable`

      public class ProjectionException
      extends TransformException

  Thrown by `NormalizedProjection` when a map projection failed.
  When this exception is thrown
  Apache SIS implementations of map projections return a finite number under normal conditions, but may also return an infinite number or NaN value, or throw this exception. The behavior depends on the reason why the projection can not return a finite number:
  - If the expected mathematical value is infinite (for example the Mercator projection at ±90° of latitude), then the map projection should return a `Double​.POSITIVE_INFINITY` or `Double​.NEGATIVE_INFINITY`, depending on the sign of the correct mathematical answer.
  - If no real number is expected to exist for the input coordinate (for example at a latitude greater than 90°), then the map projection should return `Double​.NaN`.
  - If a real number is expected to exist but the map projection fails to compute it (for example because an iterative algorithm does not converge), then the projection should throw `ProjectionException`.
  Since:
    0.6
  See Also:
    Serialized Form

  Defined in the `sis-referencing` module

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ProjectionException()` | Constructs a new exception with no detail message.
    `ProjectionException​(String message)` | Constructs a new exception with the specified detail message.
    `ProjectionException​(String message, Throwable cause)` | Constructs a new exception with the specified detail message and cause.
    `ProjectionException​(Throwable cause)` | Constructs a new exception with the specified cause.

  - ### Method Summary

    - ### Methods inherited from class TransformException

      `getLastCompletedTransform, setLastCompletedTransform`

    - ### 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 Detail

    - #### ProjectionException

          public ProjectionException()

      Constructs a new exception with no detail message.

    - #### ProjectionException

          public ProjectionException​(String message)

      Constructs a new exception with the specified detail message.
      Parameters:
        `message` - the details message, or `null` if none.

    - #### ProjectionException

          public ProjectionException​(Throwable cause)

      Constructs a new exception with the specified cause. The details message is copied from the cause.
      Parameters:
        `cause` - the cause, or `null` if none.

    - #### ProjectionException

          public ProjectionException​(String message,
                                     Throwable cause)

      Constructs a new exception with the specified detail message and cause.
      Parameters:
        `message` - the details message, or `null` if none.
        `cause` - the cause, or `null` if none.