2009-03-17 12 views
7

Przełączam się pomiędzy Javą i C#, a jedną rzecz, za którą tęsknię, podczas gdy kodowanie w C# to wymuszone sprawdzanie wyjątków (Chociaż przyznaję, że czasami uważam to za naprawdę irytujące, podczas gdy ja koduję w Javie).Czy istnieje bezpłatna alternatywa dla Łowcy wyjątków?

Jestem świadomy, że Exception Hunter może pomóc Ci wyśledzić, jakie wyjątki może rzucić fragment kodu, ale czy istnieje darmowa/tańsza alternatywa? Nie mogę uzasadnić 200 £ za tego rodzaju dodatek do oprogramowania, ponieważ jest to raczej uciążliwość niż poważny problem.

+2

Po prostu pozwól im odejść, stary. Nie możesz kontrolować świata, wiesz. – Will

+1

Ale chcę. Naprawdę chcę. : p –

+0

BTW, I +1, ponieważ jestem zainteresowany dokumentacją, nie dlatego, że uważam, że potrafię obsłużyć każdy wyjątek ... – Will

Odpowiedz

8

Tak. Uruchom darmowy kod Microsoft Pex. Pokaże wszystkie możliwe wyjątki, które można rzucać.

+0

Wygląda jak świetne narzędzie, dzięki za link. Szkoda, że ​​wersja komercyjna działa tylko z wersją VS Team. – Dave

+1

Jeśli nie masz wersji Team VS, możesz nadal używać tego narzędzia z wiersza poleceń. Generuje wyjściowy kod HTML, jak sądzę. –

+0

Nie wykonuje analizy statycznej, aby znaleźć wyrzucone wyjątki, po prostu analizuje metody, wywołując je z heurystycznie określonymi parametrami. Jest przeznaczony do generowania testów jednostkowych. http://exceptionalplugin.codeplex.com/ - to wtyczka ReSharper, która wykona zadanie. Agent Johnson to dobre uzupełnienie - http://code.google.com/p/agentjohnsonplugin/ –

0

Chociaż rozumiem egzekwowane wyjątków rzeczy, nie jestem pewien, jak to jest naprawdę istotne ... Na przykład, większość interesujących wyjątkami są te, które nie zazwyczaj zawierają (lub nawet spodziewać). Na przykład obecnie walczę z czymś, co wygląda bardzo podobnie do błędu CLI w CF35, z przerwami podnosząc MethodMissingException z kodu, który naprawdę istnieje (nacisk: sporadycznie).

Jeśli chcesz udokumentować swoje wyjątki, użyj znaczników ///<exception ... >...</exception>. Inne myśli na ten temat, być może zobacz Vexing Exceptions (Zastanawiam się, czy GhostDoc może pomóc?)

0

Get Exceptional strona jest jedną z możliwości. Podstawową ideą jest to, że tworzysz oprogramowanie i wszystkie wyjątki są wysyłane do tej witryny na twoje konto, gdzie możesz je odebrać. Oczywiście nie czyta twojego kodu i nie widzi wyjątków.

Nie wiem, czy istnieje biblioteka C#, ale interfejs API nie jest zbyt trudny.

Powiązane problemy