Class 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:
    Serialized Form
    • Constructor Detail

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

      • 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: