Class UnexpectedSwitchCaseException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
org.ehrbase.api.exception.UnexpectedSwitchCaseException
All Implemented Interfaces:
Serializable

public class UnexpectedSwitchCaseException extends RuntimeException

Diese Exception wird geworfen, wenn in einem Switch-Block ein Case eingetreten ist, der nicht korrekt behandelt werden kann. Eigentlich sollte dieser Fall nicht auftreten (außer man ignoriert die Eclipse-Warning zum unvollständigen Switch).

Typische Verwendungen in einer Switch-Definition:

  1. Im unerwarteten default-Case
  2. Im explizit nicht sinnvoll behandelbaren Case
  3. Im unerwarteten default-Case eines Switch mit Fall-Through von nicht sinnvoll behandelbaren Cases (Kombination aus 1. und 2.)

Siehe dazu auch: Code Conventions - Vollständige Switch-Statements

Author:
Jan Falkenstern, Stefan Kock
See Also:
  • Constructor Details

    • UnexpectedSwitchCaseException

      public UnexpectedSwitchCaseException(Enum<?> enumValue)
      Erzeugt aus dem übergebenen enumValue eine message.
      Ausgegeben in der Exception-Message wird enumValue.name(), damit z.B. bei lokalisierten Enums immer denselbe Wert ausgegeben wird.
      Parameters:
      enumValue - must not be null
    • UnexpectedSwitchCaseException

      public UnexpectedSwitchCaseException(Enum<?> enumValue, String additionalMessage)
      Erzeugt aus dem übergebenen enumValue eine message.
      Ausgegeben in der Exception-Message wird enumValue.name(), damit z.B. bei lokalisierten Enums immer denselbe Wert ausgegeben wird.
      Parameters:
      enumValue - must not be null
      additionalMessage - additional text for generated message
    • UnexpectedSwitchCaseException

      public UnexpectedSwitchCaseException(Integer intValue)
      Erzeugt aus dem übergebenen intValue eine message.
      Parameters:
      intValue -
    • UnexpectedSwitchCaseException

      public UnexpectedSwitchCaseException(Integer intValue, String additionalMessage)
      Erzeugt aus dem übergebenen intValue eine message.
      Parameters:
      intValue -
      additionalMessage - additional text for generated message
    • UnexpectedSwitchCaseException

      public UnexpectedSwitchCaseException(String stringValue)
      Erzeugt aus dem übergebenen stringValue eine message.

      Achtung: Breaking Change!

      Mit Version 0.1.3-SNAPSHOT hat sich die Bedeutung des Konstruktors geändert!
      Statt der Meldung wird jetzt nur der Wert angegeben!

      Parameters:
      stringValue -
    • UnexpectedSwitchCaseException

      public UnexpectedSwitchCaseException(String stringValue, String additionalMessage)
      Erzeugt aus dem übergebenen stringValue eine message.
      Parameters:
      stringValue -
      additionalMessage - additional text for generated message
  • Method Details

    • formatMessage

      public static String formatMessage(Enum<?> enumValue, String additionalMessage)
      Erzeugt die Message der UnexpectedSwitchCaseException anhand der übergebenen Parameter mit Ausgabe von enumValue.getClass().getSimpleName().
      Ausgegeben in der Exception-Message wird enumValue.name(), damit z.B. bei lokalisierten Enums immer denselbe Wert ausgegeben wird.
      Parameters:
      enumValue - must not be null
      additionalMessage - additional text for generated message (optional)
      Returns:
    • formatMessage

      public static String formatMessage(Object value, String additionalMessage)
      Erzeugt die Message der UnexpectedSwitchCaseException anhand der übergebenen Parameter.
      Parameters:
      value -
      additionalMessage - additional text for generated message (optional)
      Returns:
    • formatMessage

      public static String formatMessage(String type, Object value, String additionalMessage)
      Erzeugt die Message der UnexpectedSwitchCaseException anhand der übergebenen Parameter.
      Parameters:
      type - e.g. enumValue.getClass().getSimpleName()
      value - unsupported value in switch
      additionalMessage - additional text for generated message (optional)
      Returns: