Listing 6-1. Klasa Turtle
Ten przykład rozpoczyna się w wierszu 6. pliku Turtle.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu StartingPoint.
Listing 6-2. Symulacja ruchu robota
Ten przykład rozpoczyna się w wierszu 67. pliku Turtle.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu StartingPoint.
Listing 6-3. Symulacja obrotów oraz ruchu
Ten przykład rozpoczyna się w wierszu 100. pliku Turtle.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu StartingPoint.
Listing 6-4. Testowanie robota żółwia
Ten przykład rozpoczyna się w wierszu 11. pliku Program.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu StartingPoint.
Listing 6-5. Sprawdzanie zakresów
Ten przykład rozpoczyna się w wierszu 10. pliku Turtle.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu SilentRangeChecking.
Listing 6-6. Przekazywanie informacji o błędach przy wykorzystaniu wartości zwracanej
Ten przykład rozpoczyna się w wierszu 106. pliku Turtle.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu IncompleteReturnCode.
Listing 6-7. Wykrywanie błędu i rozważania, co z nim można zrobić
Ten przykład rozpoczyna się w wierszu 97. pliku Turtle.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu IncompleteReturnCode.
Listing 6-8. Przekazywanie informacji o błędzie
Ten przykład rozpoczyna się w wierszu 70. pliku Turtle.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu BuckPassing.
Listing 6-9. Zwracanie informacji o błędzie z użyciem typu wyliczeniowego
Ten przykład rozpoczyna się w wierszu 71. pliku Turtle.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu EnumErrorCode.
Listing 6-10. Obsługa błędu
Ten przykład rozpoczyna się w wierszu 11. pliku Program.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu EnumErrorCode.
Listing 6-11. Sygnalizowanie błędów za pomocą wyjątków
Ten przykład rozpoczyna się w wierszu 98. pliku Turtle.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu ThrowException.
Listing 6-12. Zwracanie informacji o błędzie nie jest już potrzebne
Ten przykład rozpoczyna się w wierszu 68. pliku Turtle.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu ThrowException.
Listing 6-13. W metodzie Main błędy nie są już sprawdzane jawnie
Ten przykład rozpoczyna się w wierszu 11. pliku Program.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu ThrowException.
Listing 6-14. Obsługa wyjątków
Ten przykład rozpoczyna się w wierszu 11. pliku Program.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu CatchException.
Listing 6-15. Nie najlepsza kolejność bloków catch
Ten przykład rozpoczyna się w wierszu 62. pliku Program.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu WrongCatch.
Listing 6-16. Przechwytywanie wyjątków w prawidłowej kolejności
Ten przykład rozpoczyna się w wierszu 64. pliku Program.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu MultipleCatches.
Listing 6-17. Ponowne zgłaszanie wyjątku
Ten przykład rozpoczyna się w wierszu 67. pliku Turtle.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu Rethrow.
Listing 6-18. Umieszczanie jednego wyjątku wewnątrz innego
Ten przykład rozpoczyna się w wierszu 67. pliku Turtle.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu Wrapping.
Listing 6-19. Wykorzystanie właściwości InnerException
Ten przykład rozpoczyna się w wierszu 60. pliku Program.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu Wrapping.
Listing 6-20. Sprawdzanie, kiedy są wykonywane bloki finally
Ten przykład rozpoczyna się w wierszu 110. pliku Turtle.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu Finally.
Listing 6-21. Zgłaszanie wyjątku w przypadku przekazania niewłaściwych argumentów
Ten przykład rozpoczyna się w wierszu 66. pliku Turtle.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu ArgumentException.
Listing 6-22. Testowanie oczekiwanego wyjątku
Ten przykład rozpoczyna się w wierszu 21. pliku Program.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu ArgumentException.
Listing 6-23. Własny niestandardowy wyjątek
Ten przykład rozpoczyna się w wierszu 7. pliku TurtleException.cs należącego do solucji ErrorExample.sln umieszczonej w katalogu CustomException.