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, 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.
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.
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 😅
Larger your code, more unstable or unpredicted behaviours, eventually it will raise exceptions. But actually I never saw try {} catch () {} seriously used anywhere.. It is usually just check with if or smth
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; } } }
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"); } }
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.
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();
}
}
}
Did a better job at explaining this in a 5 minute video than my proffessor did in a whole lecture!
Same as you. I feel like my college was actually on RUclips.
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🙂
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.
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.
Think you are gonna help me alot in my education - thanks for the vid ::)
This has been super helpful, what a legend!
you'r so good, BRO!
Thanks for the video Bro.
You're the real Bro, Bro.👌👌
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 😅
Larger your code, more unstable or unpredicted behaviours, eventually it will raise exceptions.
But actually I never saw try {} catch () {} seriously used anywhere..
It is usually just check with if or smth
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;
}
}
}
whats the e for?
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");
}
}
Thanks for the video!
Superb broski
!
Thanks Bro!
Thanks For The Video Mate
for the algorithm as always!
Thanks
Amazing SIR!
bro really just sum up 40 min video from my prof in 5 mins.
thanks, bro.
Gracias hermano Call of duty
Thanks Bro🤗
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#
I like you doggo
❤
Thanks bro
👏🙏👌
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.
lesson check😇
done
noice
Random commend down below.
Lol 😅