I'm writing a console application where I need to provide detailed error messages in case anything goes wrong. As a result of this, I find myself splitting up my code into many pieces and making sure that every step is handled correctly. While this certainly makes it possible to detail what exactly went wrong, it unfortunately also leads some horrific overhead on my code. Take the following code for example:
// Open the SISS catalog on the server
Catalog catalog = integrationServices.Catalogs[catalogName];
if (catalog == null)
{
Console.WriteLine("Unable to open the SSIS catalog : " + catalogName
+ ", it does not exist on the server");
return (int)ExitCode.Failure;
}
// Open the folder in the catalog
CatalogFolder folder = catalog.Folders[folderName];
if (folder == null)
{
Console.WriteLine("Unable to open the folder : " + folderName
+ ", it does not exist on the server");
return (int)ExitCode.Failure;
}
// Open the project in the folder
ProjectInfo projectInfo = folder.Projects[projectName];
if (projectInfo == null)
{
Console.WriteLine("Unable to open the project : " + projectName
+ ", it does not exist on the server");
return (int)ExitCode.Failure;
}
// Check if the package exists
if (!projectInfo.Packages.Contains(packageName))
{
Console.WriteLine("Unable to open the package : " + packageName
+ ", it does not exist on the server");
return (int)ExitCode.Failure;
}
Is there any way I can make this more pretty?