Konstruuję listę ciągów, a następnie chcę rzucić wyjątek i pozwolić UI obsłużyć listę i utworzyć komunikat o błędzie dla użytkownika.Przekaż obiekt (lista <string>) jako część wyjątku
Czy jest jakiś sposób na zrobienie tego?
Konstruuję listę ciągów, a następnie chcę rzucić wyjątek i pozwolić UI obsłużyć listę i utworzyć komunikat o błędzie dla użytkownika.Przekaż obiekt (lista <string>) jako część wyjątku
Czy jest jakiś sposób na zrobienie tego?
Wyjątki zawierają własność Data
(która jest słownikiem). Może być używany do przekazywania dodatkowych informacji:
try
{
// throw new Exception
}
catch(Exception e)
{
// whatever
e.Data["SomeData"] = new List<string>();
}
+1 wstyd na mnie - nie wiedziałem o tej nieruchomości –
Dziękuję bardzo! – Pacman
Można użyć właściwości Exception.Data
przekazać dowolne dane, ale lepszym rozwiązaniem (odkurzacz) byłoby stworzyć własną klasę zwyczaj wyjątek pochodzi od wyjątku i dodać cokolwiek właściwości, potrzebuję tego.
Przykładowy kod:
public class MyException: Exception
{
public List<String> MyStrings { get; private set; }
public MyException(List<String> myStrings)
{
this.MyStrings = myStrings;
}
}
'niech UI analizowania list' - Dlaczego UI za to odpowiedzialny? –
@HighCore: Myślę, że on po prostu oznacza sformatowanie listy w coś czytelnego dla skrzynki na wiadomości – Cemafor