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 Details

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