Jason. Cała informatyka w jednym miejscu!

Trzecia część dotycząca obsługi wyjątków w "CSharpie" prezentować będzie jak łatwo oraz po co w ogóle (i w szczególe :P) możecie wykorzystać tworzenie własnego wyjątku w języku C#. Nie chodzi mi o tworzenie zgłoszeń wyjątków, nie. To już było. Chodzi mi o tworzenie własnych TYPÓW wyjątków :O!

TWORZENIE WŁASNEGO WYJĄTKU W JĘZYKU C# WYKONASZ TĄ SAMĄ METODĄ

Dla Waszej wiadomości. Utworzenie własnego typu wyjątku realizowane jest bardzo łatwo na mocy dziedziczenia i wykorzystaniu klasy potomnej. Tak, idziecie tą samą drogą jaką Wam przekazałem w jednym z poprzednich materiałów :).

MOŻLIWOŚCI JEST KILKA!

Kiedy macie w głowie myśl stworzenia własnego typu wyjątku, korzystacie ze słowa "class" i jedziecie z koksem :D:

class MyException : Exception
{
	
}

To jest najprostsza forma. Nie wnosi niczego pożytecznego, ale to już jest w pełni interaktywna klasa, która "posiada uprawnienia" do nazywania siebie wyjątkiem (można wstawić ten typ do bloków "catch" i zgłaszać wyjątki przy jego użyciu). Aby uczynić ją trochę bardziej wartościową, można wprowadzić konstruktor i najlepiej żeby odwołał się do konstruktora klasy bazowej. Gdy wstawimy do nawiasów łańcuch znaków w postaci parametru aktualnego:

class MyException : Exception
{
	public MyException():base("Mój wyjątek")
	{
		
	}
}

nadamy własną treść komunikatu jaki zostanie przywołany przez poprzednio wspomnianą właściwość "Message" oraz metodę "ToString":

try
{
	throw new MyException();
}
catch (MyException me)
{
	Console.WriteLine(me.Message);
	Console.WriteLine(me.ToString());
}

DOWOLNY WŁASNY KOMUNIKAT

Jesteście w stanie również wykorzystać możliwość osadzenia parametru formalnego wewnątrz konstruktora naszego wyjątku, przekazać go do konstruktora klasy bazowej i w ten sposób utorować sobie drogę do podawania takiego komunikatu, jakiego sobie życzycie, w miejsce tworzenia instancji :). Tworzenie własnego wyjątku w języku C# pozwala na każdy "szacher-macher" jaki przejdzie w innych klasach potomnych:

TREŚĆ KLASY
class MyException : Exception
{
	public MyException(string message):base(message)
	{
		
	}
}
ZGŁASZANIE I PRZECHWYTYWANIE WYJĄTKU
try
{
	throw new MyException("Mój wyjątek");
}
catch (MyException me)
{
	Console.WriteLine(me.Message);
	Console.WriteLine(me.ToString());
}
Tworzenie własnego wyjątku w języku C#

Tworzenie własnego wyjątku w języku C# nie różni się absolutnie niczym od klasycznego dziedziczenia. Jedyne co wystarczy to klasa potomna i dziedziczenie od "Exception".


Nie pytam się nikogo o potencjalne zastosowania. Mnie zależy wyłącznie na przekazaniu prawdy o istnieniu takiej możliwości. Resztę zostawiam Wam, czytelnicy ;)! Przed Wami ostatnia część na temat obsługi wyjątków w C# jaka ukaże się w następnym materiale.

PODOBNE ARTYKUŁY