C# Program: Negative number exception handling
C# Sharp Exception Handling: Exercise-2 with Solution
Write a C# program to implement a method that takes an integer as input and throws an exception if the number is negative. Handle the exception in the calling code.
Sample Solution:
C# Sharp Code:
using System;
class Program {
static void Main() {
try {
// Prompt user to input an integer and read the input
Console.Write("Input an integer: ");
int number = Convert.ToInt32(Console.ReadLine());
// Call the method to validate if the input is a positive number
ValidatePositiveNumber(number);
// Display the input as valid if it passes validation
Console.WriteLine("Valid input: " + number);
} catch (NegativeNumberException ex) {
// Catch block for handling NegativeNumberException
Console.WriteLine("Error: " + ex.Message);
} catch (FormatException) {
// Catch block for handling FormatException (non-integer input)
Console.WriteLine("Error: Invalid input. Please enter an integer.");
} catch (Exception ex) {
// Catch block for handling other types of exceptions
Console.WriteLine("An error occurred: " + ex.Message);
}
}
// Method to validate if the number is positive
static void ValidatePositiveNumber(int number) {
if (number < 0) {
// Throw NegativeNumberException if the number is negative
throw new NegativeNumberException("Negative number not allowed.");
}
}
}
// Custom exception class for handling negative number scenarios
class NegativeNumberException: Exception {
public NegativeNumberException(string message): base(message) {}
}
Sample Output:
Input an integer: 12 Valid input: 12
Input an integer: a Error: Invalid input. Please enter an integer.
Input an integer: -34 Error: Negative number not allowed.
Explanation:
In the above exercise,
- The "ValidatePositiveNumber()" method is called with the number as an argument. This method checks if the number is less than zero. If it is, it throws a custom exception called NegativeNumberException with the message "Negative number is not allowed."
- In the Main method, exceptions are handled using catch blocks. If a NegativeNumberException is thrown by the ValidatePositiveNumber method, it is caught and an error message is displayed.
- If a FormatException occurs, the user entered a non-integer value. This exception is caught and an appropriate error message is displayed.
- Any other exceptions are caught by the generic catch block, and a general error message is displayed
Flowchart:
C# Sharp Code Editor:
Improve this sample solution and post your code through Disqus
Previous: User input division with exception handling.
Next: File opening with exception handling.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/csharp-exercises/exception-handling/csharp-exception-handling-exercise-2.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics