Witam! Napisałem pewną klasę z wykorzystaniem innych. Binarna serializacja danych. Nie za bardzo wiem kiedy rzucać odpowiednio wyjątkami...i czy wgl rzucać, czy to niezbędne do prawidłowej pracy i czy rzucane są w odpowiednich miejscach. Czy lepiej zrobić tak jak poniżej przedstawiam, i później wyłapywać wyjątki przy wykorzystaniu tej klasy?
public static class Serializer {
public static void BinarySerialize(string path, Object serializedObject)
{
BinaryFormatter bf = new BinaryFormatter ();
try{
Stream stream = new FileStream(path, FileMode.OpenOrCreate);
try
{
bf.Serialize(stream, serializedObject);
stream.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message + " Binary serialization error.");
}
finally
{
stream.Dispose();
}
}
catch(IOException ex)
{
throw new IOException(ex.Message + " Saving binary data.");
}
}
public static Object BinaryDeserialize(string path)
{
BinaryFormatter bf = new BinaryFormatter ();
try
{
Stream stream = new FileStream(path, FileMode.Open);
try
{
Object deserializedObject = bf.Deserialize(stream);
stream.Close();
return deserializedObject;
}
catch (Exception ex)
{
throw new Exception(ex.Message + " Binary deserialization error.");
}
finally
{
stream.Dispose();
}
}
catch (IOException ex)
{
throw new Exception(ex.Message + " Loading binary data.");
}
}
}
Czy lepiej tutaj wyłapać je? Wypisać na debug i tyle? I wtedy zrobić np boolowskie funkcje czy serializacja się udala?