Mi stavo chiedendo se una lingua potrebbe supportare qualcosa come un blocco Riprova / Correggi?
La risposta a questa domanda è probabilmente la ragione per cui è una cattiva idea o equivalente a qualcos'altro, ma l'idea continua a venirmi in mente.
void F()
{
try
{
G();
}
fix(WrongNumber wn, out int x)
{
x = 1;
}
}
void G()
{
int x = 0;
retry<int>
{
if(x != 1) throw new WrongNumber(x);
}
}
Dopo che è stato eseguito il blocco di correzioni, il blocco di tentativi verrà eseguito di nuovo ...