Tartalomjegyzék

< Csharp

Csharp kivételkezelés

Fejlesztés alatt.

Nem megvalósított metódus

Ha egy metódust nem valósítottunk meg, akkor NotImplementedException kivételt szokás dobni:

throw new NotImplementedException();

Kivétel kezelése másik metódusból

A kivételkezelésnek pont az a szépsége, hogy a hibákat nem kell ott kezelni, ahol azok keletkeznek. Így szétválasztható a hibakezelés és a megvalósítás. Figyeljük meg a következő programot. Az olvas() metódus végzi a hibakezelést, a megvalósítás, azonban a tryOlvas() metódusban van.

program01.cs
using System;
using System.IO;
 
class Program01 {
	public static void olvas() {
		try {
			tryOlvas();
		}catch(FileNotFoundException) {
			Console.WriteLine("A fájl nem található!");
		}
	}
 
	public static void tryOlvas() {
		FileStream folyam = new FileStream("adat.txt", FileMode.Open);
		StreamReader olvaso = new StreamReader(folyam);
		while (!olvaso.EndOfStream){
			Console.WriteLine(olvaso.ReadLine());
		}
		olvaso.Close();		
	}
 
	public static void Main() {
		olvas();
		Console.WriteLine("Program vége");
	}
}