Estoy escribiendo aC# app y quiero enviar mensajes de error a la consola o a un buzón (Dependiendo del tipo de aplicación: enum AppTypeChoice {Console, Windows}), y también controlo si la aplicación sigue ejecutándose o no (bool StopOnError)¿Por qué hay un código inalcanzable aquí?
Se me ocurrió este método que verificará todos los criterios, pero recibo una advertencia de "código inalcanzable detectado". No puedo ver por qué!
Aquí es todo el método (Prepárense para un cierto código aficionado!)
public void OutputError(string message)
{
string standardMessage = "Something went WRONG!. [ But I'm not telling you what! ]";
string defaultMsgBoxTitle = "Aaaaarrrggggggggggg!!!!!";
string dosBoxOutput = "\n\n*** " + defaultMsgBoxTitle + " *** \n\n Message was: '" + message + "'\n\n";
AppTypeChoice appType = DataDefs.AppType;
DebugLevelChoice level = DataDefs.DebugLevel;
// Decide how much info we should give out here...
if (level != DebugLevelChoice.None)
{
// Give some info....
if (appType == AppTypeChoice.Windows)
MessageBox.Show(message, defaultMsgBoxTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
else
Console.WriteLine(dosBoxOutput);
}
else
{
// Be very secretive...
if (appType == AppTypeChoice.Windows)
MessageBox.Show(standardMessage, defaultMsgBoxTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
else
Console.WriteLine(standardMessage);
}
// Decide if app falls over or not..
if (DataDefs.StopOnError == true)
Environment.Exit(0); // UNREACHABLE CODE HERE
}
Asimismo, si bien tengo su atención, para obtener el tipo de aplicación, sólo estoy usando una constante en la parte superior de el archivo (es decir, AppTypeChoice.Console en una aplicación de consola, etc.): ¿hay una forma mejor de hacerlo (me refiero a averiguar en el código si se trata de una aplicación de DOS o Windows)?
Además, me di cuenta de que puedo usar un cuadro de mensaje con una ruta completa en una aplicación de consola ... ¿Qué tan malo es hacer eso? (¿Me pintarán y emplumarán cuando otros desarrolladores lo vean? !)
Gracias por su ayuda
¿Es ese el método completo? –
@Raj: mira la última línea. – SLaks
Gracias SLaks! –