Esempio n. 1
0
        public void ProcessCommandLineArguments(string[] args)
        {
            try
            {
                if (args.Length != 2)
                {
                    HandleError("Error: Expecting 2 command line arguments");
                    return;
                }

                var filterName = args[0];
                var filepath   = args[1];
                // throws a number of exception that inherit from IOException
                var inputString = File.ReadAllText(filepath);

                // throws filterNotFoundException
                var filter         = filterFactory.CreateFilter(filterName);
                var filteredString = filter.Filter(inputString);

                outputService.OutputMessage($"string filtered by {filterName}:");
                outputService.OutputMessage(filteredString);
            }
            catch (IOException ex)
            {
                HandleError($"Error: Accessing filepath: {args[1]}", ex);
            }
            catch (FilterNotFoundException ex)
            {
                HandleError($"Error: filter \"{args[0]}\" not found", ex);
            }
            catch (Exception ex)
            {
                HandleError("Something went wrong", ex);
            }
        }