2010-03-04 10 views
10

Mam pewien kod w moim programie obsługi błędów, który muszę przetestować pod względem realistycznego błędu. Jak wygenerować błąd, który ma pełne śledzenie stosu i jest tak realistyczny, jak błąd środowiska wykonawczego.C# jak szybko wygenerować prawidłowy błąd dla celów testowych

Używam ogólnego połowu na wyjątek. Tak więc w tym konkretnym przypadku nie ma potrzeby określonego rodzaju wyjątku.

Dzięki

Odpowiedz

15
object m = null; 
string s = m.ToString(); 

błyskawiczne NullReferenceException.

+0

Awesome, to jest dokładnie ten rodzaj rzeczy szukałem :) –

+0

+1 dla NullReferenceException – MPritchard

+0

:(pobity na nim przez 15 sekund – MPritchard

5

Jeden DivideByZeroException wymyślanie !:

int i = 0; 
int j = 1/i; 
1

Można wygenerować null odniesienia wyjątek ... albo dzielenie przez zero wyjątku.

15

Co

throw new Exception("this is a test"); 
8

Można rzucać jakiegokolwiek wyjątku .Net wywołując

throw new OutOfMemoryException(); 
throw new IndexOutOfRangeException(); 
throw new ArgumentNullException(); 

Nazwy wyjątek może być żadnych wyjątków DOTNET. możesz nawet tworzyć i wyrzucać własne wyjątki.

Aby uzyskać listę wyjątków CLR, w VS kliknij menu debugowania, a następnie menu wyjątków.

-2

Co powiesz na dobry stary podział przez zero?

5/0

+0

Kompilator temu zapobiega, więc nigdy nie stanie się wyjątkiem środowiska wykonawczego. – MeanGreen

-1

polecam spróbować wykorzystać ramy szyderczy, np Moq i Rhino Mocks, a następnie przekazują powiązany wyjątek, który masz nadzieję złapać. !

-1
throw new IndexOutOfRangeException(); 
+0

Chociaż ten fragment kodu może rozwiązać pytanie, [w tym wyjaśnienie] (// meta.stackexchange.com/questions/114762/explaining-entirely-code-ans -answers) naprawdę pomaga poprawić jakość twojego posta. Pamiętaj, że odpowiadasz na pytanie przeznaczone dla czytelników w przyszłości, a te osoby mogą nie znać powodów sugestii dotyczących kodu. Proszę również starać się nie tłumić kodu za pomocą komentarzy wyjaśniających, co zmniejsza czytelność zarówno kodu, jak i objaśnień! – kayess

Powiązane problemy