Cambia caso dovrebbe quasi sempre avere un default
caso.
Ragioni per usare a default
1.Per "catturare" un valore imprevisto
switch(type)
{
case 1:
//something
case 2:
//something else
default:
// unknown type! based on the language,
// there should probably be some error-handling
// here, maybe an exception
}
2. Gestire azioni "predefinite", in cui i casi riguardano comportamenti speciali.
Lo vedi MOLTO nei programmi basati su menu e negli script di shell bash. Potresti anche vederlo quando una variabile viene dichiarata all'esterno del caso switch ma non inizializzata e ogni caso la inizializza in qualcosa di diverso. Anche in questo caso il valore predefinito deve inizializzarlo in modo che il codice di riga che accede alla variabile non generi un errore.
3. Per mostrare a qualcuno che legge il tuo codice che hai coperto quel caso.
variable = (variable == "value") ? 1 : 2;
switch(variable)
{
case 1:
// something
case 2:
// something else
default:
// will NOT execute because of the line preceding the switch.
}
Questo è stato un esempio troppo semplificato, ma il punto è che qualcuno che legge il codice non dovrebbe chiedersi perché variable
non può essere qualcosa di diverso da 1 o 2.
L'unico caso a cui riesco a pensare di NON usare default
è quando l'interruttore sta controllando qualcosa in cui è piuttosto ovvio che ogni altra alternativa può essere felicemente ignorata
switch(keystroke)
{
case 'w':
// move up
case 'a':
// move left
case 's':
// move down
case 'd':
// move right
// no default really required here
}