|
Un breve capitolo lo dedichiamo alle funzioni divergenti che sono funzioni le quali non restituiscono mai un valore e non terminano normalmente. In altre parole, non hanno un valore di ritorno e vengono indicate con il tipo ! (detto "never type" o "tipo mai"). Nella pratica, le funzioni divergenti sono spesso usate per gestire errori gravi, eseguire loop infiniti o arrestare il programma. Non viene pertanto mai restituito il controllo al chiamante e ancor di più si capisce che si tratta di funzioni dall'uso davvero speciale. In questo modo possono essere anche attribuite ad una variabile di qualsiasi tipo. Esempio classico è il seguente:
Questo codice, che come ormai saprete origina un warning a causa della presenza della irraggiungibile riga 6, genera un panic che termina il programma. Un altro esempio può essere invece:
Questo programma invece continua a mostrare la stringa alla riga 3 finchè non lo interromperete manualmente con le modalità previste dal sistema operativo che state usando (ad esempio il classico CTRL+C).. |