У меня есть два метода, над которыми я работаю. Один сохраняет, а другой загружает. Очевидно, что оба требуют некоторой обработки ошибок, поэтому я реализовал некоторую «обработку всех запросов». Теперь пятой охоты является то, что происходит дальше, зависит от того, где во время выполнения возникает ошибка. Из-за этого я хотел бы обработать ошибку в вызывающей стороне, на один уровень выше. Таким образом, у меня может быть разная логика для разных ситуаций.
Примером может быть. Если я проверяю загрузку при первом запуске, и она не удается, я могу предположить, что их память, возможно, была очищена. Но если я попытаюсь загрузить во время выполнения, я могу предположить, что память не была очищена (правильными средствами), и что-то должно быть.
public void SaveToStorage(AccountCollection Collection)
{
try
{
var storage = IsolatedStorageSettings.ApplicationSettings;
storage["defaultCollection"] = Collection;
storage.Save();
}
catch (Exception ex)
{
// Do something meaningful here
}
}
public AccountCollection LoadFromStorage()
{
try
{
AccountCollection collection;
var storage = IsolatedStorageSettings.ApplicationSettings;
storage.TryGetValue("defaultCollection", out collection);
return collection;
}
catch (Exception ex)
{
// Do something meaningful here
}
return null;
}
По сути, я спрашиваю, могу ли я выдать ошибку вызывающей стороне, но при этом сохранить исходные детали ошибки.
РЕДАКТИРОВАТЬ: Джон и Эндрю дали правильные ответы. Эндрю получит зеленую галочку, как я хотел бы сделать какую-то другую общую очистку в исходном классе.