avere questo codice, non capisco perché se l'assegnazione di una variabile in un blocco finally non si capisce che sarà SEMPRE assegnata. Penso di perdere un'opzione valida in cui la valuta non verrà assegnata. Se lo sai, sarà bello capire perché. lo apprezzo molto!Uso della variabile locale non assegnata. Ma rientra sempre nel compito
Grazie!
CurrencyVO currency;
try
{
if (idConnection.HasValue && idConnection != 0)
{
currencyConnection = client.GetConnection(idConnection.Value);
model.Connection = currencyConnection;
}
else
{
int providerUserKey = (int)Models.UserModel.GetUser().ProviderUserKey;
currencyConnection = client.GetConnection(providerUserKey);
}
currency = model.Currencies.SingleOrDefault(c => c.IdCountry == currencyConnection.idcountry) ?? new CurrencyVO();
}
catch
{
currency = new CurrencyVO();
}
finally
{
model.PublishedContainer.Currency = currency;
}
l'errore si verifica sul blocco finally. Se lo tolgo dal blocco finally in questo modo:
} catch {
currency = new CurrencyVO();
}
model.PublishedContainer.Currency = currency;
funziona correttamente.
Yoy dovrebbe indicare questo post come una domanda – jclozano
Sostituzione dell'ultima riga del blocco Try con "currency = new CurrencyVO();" lo fa non errore, vero? – UnhandledExcepSean
@SpectralGhost: nulla all'interno del blocco 'try' cambierà l'errore - è necessario assegnare' currency' prima del blocco 'try' (anche se si assegna semplicemente' null'). –