Pessoal,
Segue um exemplo utilizando try e catch. Essencial para pegar o verdadeiro erro. O segredo é sempre começar do erro mais específico para depois ir para um erro genérico. Espero ter ajudado alguma coisa.
private static string CheckPort(string port)
{
try
{
int.Parse(port);
}
catch (ArgumentNullException)
{
Logging.Error(System.Windows.Forms.Application.ProductName, "Port may not be null.");
}
catch (FormatException)
{
Logging.Error(System.Windows.Forms.Application.ProductName, "Port must be a numeric string.");
}
catch (OverflowException)
{
Logging.Error(System.Windows.Forms.Application.ProductName, "Port may not be null.");
}
return port;
}