C# exception handling ⚠️
Vložit
- čas přidán 15. 06. 2024
- C# exception handling tutorial example explained
#C# #exception #handling
using System;
namespace MyFirstProgram
{
class Program
{
static void Main(string[] args)
{
// exception = errors that occur during execution
// try = try some code that is considered "dangerous"
// catch = catches and handles exceptions when they occur
// finally = always executes regardless if exception is caught or not
int x;
int y;
double result;
try
{
Console.Write("Enter number 1: ");
x = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter number 2: ");
y = Convert.ToInt32(Console.ReadLine());
result = x / y;
Console.WriteLine("result: " + result);
}
catch (FormatException e)
{
Console.WriteLine("Enter ONLY numbers PLEASE!");
}
catch (DivideByZeroException e)
{
Console.WriteLine("You can't divide by zero! IDIOT!");
}
catch (Exception e)
{
Console.WriteLine("Something went wrong!");
}
finally
{
Console.WriteLine("Thanks for visiting!");
}
Console.ReadKey();
}
}
} - Věda a technologie
using System;
namespace MyFirstProgram
{
class Program
{
static void Main(string[] args)
{
// exception = errors that occur during execution
// try = try some code that is considered "dangerous"
// catch = catches and handles exceptions when they occur
// finally = always executes regardless if exception is caught or not
int x;
int y;
double result;
try
{
Console.Write("Enter number 1: ");
x = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter number 2: ");
y = Convert.ToInt32(Console.ReadLine());
result = x / y;
Console.WriteLine("result: " + result);
}
catch (FormatException e)
{
Console.WriteLine("Enter ONLY numbers PLEASE!");
}
catch (DivideByZeroException e)
{
Console.WriteLine("You can't divide by zero! IDIOT!");
}
catch (Exception e)
{
Console.WriteLine("Something went wrong!");
}
finally
{
Console.WriteLine("Thanks for visiting!");
}
Console.ReadKey();
}
}
}
bro i watched your code since 3 year ago and i will be graduated soon you helped me so much in the university thanks so much
"Not considered good practice" Someone should tell Microsoft, omfg.
one point is that we can also make use of e.Message to show what the actual exception error occurred. awesome video bro code🙂
Think you are gonna help me alot in my education - thanks for the vid ::)
you'r so good, BRO!
Thanks for the video Bro.
Thanks for the video!
Thanks Bro!
Superb broski
!
Thanks For The Video Mate
Bro, what about using the general Exception catch all and then you can use e.Message and do something like this:
catch (Exception e)
{
Console.WriteLine("something went wrong: " + e.Message);
}
and you will have one exception writing out the specifics in the Message property.
Thanks Bro🤗
Amazing SIR!
You're the real Bro, Bro.👌👌
thanks, bro.
Thanks bro
Oh btw is there reason why we typed "e" after exceptions ? I tried without using it and looks like program works perfectly fine.
I think you will already know it but if someone does not: You can add the e to your writeline Console.WriteLine($"Error: {e}"); to see what went wrong.
👏🙏👌
❤
I like you doggo
lesson check😇
done
noice
If you write good code you should not have any exceptions right? I just made my code so that there will never be exceptions if you try to do something wrobg 😅
whats the e for?
What we can do to run from the beginning after catch the exception?
I used this for it
int number;
int number2;
int result;
string re;
bool reset = true;
while (reset) {
try
{
Console.WriteLine("Enter the number one!");
number = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter the number one!");
number2 = Convert.ToInt32(Console.ReadLine());
result = number + number2;
Console.WriteLine(result); ;
}
catch (FormatException e)
{
Console.WriteLine("Wrong input! " + e.Message);
Console.WriteLine("Would you like to reset ? (Yes/No)");
re = Console.ReadLine().ToLower();
if (re == "yes")
{
reset = true;
}
else
{
Console.WriteLine("Thanks for using!");
reset = false;
}
}
}
If an exception is caught and fixed how do I make the code try again from were it last was?
maybe you can use an if statement? idk
you can use bool date type and a loop to ensure the variables were taken in a correct format like this for example -
int number1;
int number2;
bool success = false;
while (!success) {
try
{
Console.WriteLine("Enter number one");
number1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine();
Console.WriteLine("Enter number two");
number2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine();
Console.WriteLine($"Your total is {number1 + number2}");
success = true;
}catch (Exception)
{
Console.WriteLine("Please enter an integer");
}
}
you can use bool date type and a loop to ensure the variables were taken in a correct format like this for example -
int number1;
int number2;
bool success = false;
while (!success) {
try
{
Console.WriteLine("Enter number one");
number1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine();
Console.WriteLine("Enter number two");
number2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine();
Console.WriteLine($"Your total is {number1 + number2}");
success = true;
}catch (Exception)
{
Console.WriteLine("Please enter an integer");
}
}
We can also use goto statement right? or is it not recommended? which method is better for error handling?
Tip for you: .bat sintax is bad and i dont know about good use of goto in C#
It’s not recommended
bro really just sum up 40 min video from my prof in 5 mins.
Random commend down below.
How to prevent the exception from happening at all? So instead of just stopping the program, it looped back to re asking the number. Something like:
while (age != 'a number or something') //something that telling age must be a number otherwise it looped back
{
Console.WriteLine("Not a number dummy, type again!")
age = Convert.ToInt32(Console.ReadLine());
}
Is that even possible?
At the end of the catch, write "goto" + some name like "start again", and then just write "name you chose" and colon. When the catch is executed, and thus the error happens, it will send the code to that location.
@@crt24501 that’s bad practice