w3resource

C# Program: Convert string to uppercase with exception handling

C# Sharp Exception Handling: Exercise-11 with Solution

Write a C# program that creates a method that takes a string as input and converts it to uppercase. Handle the NullReferenceException that occurs if the input string is null.

Sample Solution:

C# Sharp Code:

using System;

class Program {
  static void Main() {
    try {
      // Ask the user to input a string
      Console.Write("Input a string: ");
      string input = Console.ReadLine();

      // Convert the input string to uppercase
      string result = ConvertToUppercase(input);

      // Display the converted uppercase string
      Console.WriteLine("Uppercase string: " + result);
    } catch (NullReferenceException) {
      // Catch block for handling NullReferenceException (null input)
      Console.WriteLine("Error: Input string is null.");
    } catch (ArgumentException ex) {
      // Catch block for handling ArgumentException (null or empty input)
      Console.WriteLine("Error: " + ex.Message);
    } catch (Exception ex) {
      // Catch block for handling other types of exceptions
      Console.WriteLine("An error occurred: " + ex.Message);
    }
  }

  // Method to convert a string to uppercase
  static string ConvertToUppercase(string input) {
    // Check if the input string is null or empty
    if (string.IsNullOrEmpty(input)) {
      // Throw an ArgumentException if the input is null or empty
      throw new ArgumentException("Input string is null or empty.");
    }

    // Convert the input string to uppercase using the ToUpper method
    return input.ToUpper();
  }
}

Sample Output:

Input a string:
Error: Input string is null or empty.
 
Input a string: java
Uppercase string: JAVA 
 
Input a string: Java
Uppercase string: JAVA

Explanation:

In the above exercise -

  • Inside the "Main()" method, a try block is used to enclose code that may throw exceptions.
  • The program prompts the user to input a number using Console.Write() to display the message and Console.ReadLine to read the input as a string.
  • The input is converted to double using Convert.ToDouble. If the input is a valid number, it is stored in the number variable.
  • An if statement checks if the number is greater than or equal to 0. If it is, the program calls the CalculateSquareRoot method to calculate the square root of the number.
  • If the number is negative, an ArgumentException is thrown with the message "Number cannot be negative!" using the throw keyword.
  • The catch block follows the try block to handle specific exceptions.
  • The first catch block catches a FormatException, which occurs if the user enters invalid input that cannot be converted to a double. In this case, it displays an error message: "Error: Invalid input. Please input a valid number."
  • The second catch block catches an ArgumentException, which is thrown when the number is negative. It displays the error message contained within the exception.
  • The last catch block catches any other exceptions and displays a generic error message along with the exception message.
  • The CalculateSquareRoot method takes a double parameter number and uses the Math.Sqrt method to calculate the square root of the number. It returns the result.

Flowchart:

Flowchart: Convert string to uppercase with exception handling.

C# Sharp Code Editor:

Improve this sample solution and post your code through Disqus

Previous: Calculate square root with exception handling.
Next: Calculate factorial with overflow exception handling.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.