Исключительная ситуация или исключение — это ошибка, которая возникает во время выполнения программы.
В языке C# все исключения являются объектами класса System.Exception
В языке C# все исключения являются объектами класса System.Exception
Если возможна не одна ошибка, то можно каждый тип исключительной ситуации поместить в отдельные операторы catch.
Внимание! Несколько операторов catch работают не корректно! В данном примере срабатывает системное сообщение, а не то, что указано в блоке catch.
Внимание! Несколько операторов catch работают не корректно! В данном примере срабатывает системное сообщение, а не то, что указано в блоке catch.
Main.cs
usingSystem;classOne {-
stringsymbol; -
decimala; -
decimalb; -
publicOne(stringarg0,decimalarg1,decimalarg2) { -
symbol = arg0; -
a = arg1; -
b = arg2; -
} -
publicvoidResult() { -
if(symbol!="+"& symbol!="-"& symbol!="*"& symbol!="/"& symbol!="%") { -
thrownewException("Вы ввели не правильный символ!"); -
} -
else{ -
try{ -
if(symbol =="+") { -
Console.WriteLine("{0} {1} {2} = {3}", a, symbol, b, (a + b)); -
} -
elseif(symbol =="-") { -
Console.WriteLine("{0} {1} {2} = {3}", a, symbol, b, (a - b)); -
} -
elseif(symbol =="*") { -
Console.WriteLine("{0} {1} {2} = {3}", a, symbol, b, (a * b)); -
} -
elseif(symbol =="/") { -
Console.WriteLine("{0} {1} {2} = {3}", a, symbol, b, (a / b)); -
} -
elseif(symbol =="%") { -
Console.WriteLine("{0} {1} {2} = {3}", a, symbol, b, (a % b)); -
} -
} -
catch(DivideByZeroException exc) { -
Console.WriteLine(exc.Message); -
} -
catch(FormatException exc) { -
Console.WriteLine("Привет Мир!"); -
Console.WriteLine(exc.Message); -
} -
} -
} }classProgram {-
publicstaticintMain() { -
Console.Write("выберите арифметическое действие + - * / % : "); -
stringsymbol = Console.ReadLine(); -
Console.Write("введите число : "); -
decimala =decimal.Parse(Console.ReadLine()); -
Console.Write("введите число : "); -
decimalb =decimal.Parse(Console.ReadLine()); -
One O =newOne(symbol, a, b); -
O.Result(); -
Console.ReadKey(); -
return0; -
} }
usingSystem;classOne {-
stringsymbol; -
decimala; -
decimalb; -
publicOne(stringarg0,decimalarg1,decimalarg2) { -
symbol = arg0; -
a = arg1; -
b = arg2; -
} -
publicvoidResult() { -
if(symbol!="+"& symbol!="-"& symbol!="*"& symbol!="/"& symbol!="%") { -
thrownewException("Вы ввели не правильный символ!"); -
} -
else{ -
try{ -
if(symbol =="+") { -
Console.WriteLine("{0} {1} {2} = {3}", a, symbol, b, (a + b)); -
} -
elseif(symbol =="-") { -
Console.WriteLine("{0} {1} {2} = {3}", a, symbol, b, (a - b)); -
} -
elseif(symbol =="*") { -
Console.WriteLine("{0} {1} {2} = {3}", a, symbol, b, (a * b)); -
} -
elseif(symbol =="/") { -
Console.WriteLine("{0} {1} {2} = {3}", a, symbol, b, (a / b)); -
} -
elseif(symbol =="%") { -
Console.WriteLine("{0} {1} {2} = {3}", a, symbol, b, (a % b)); -
} -
} -
catch(DivideByZeroException exc) { -
Console.WriteLine(exc.Message); -
} -
catch(FormatException exc) { -
Console.WriteLine("Привет Мир!"); -
Console.WriteLine(exc.Message); -
} -
} -
} }classProgram {-
publicstaticintMain() { -
Console.Write("выберите арифметическое действие + - * / % : "); -
stringsymbol = Console.ReadLine(); -
Console.Write("введите число : "); -
decimala =decimal.Parse(Console.ReadLine()); -
Console.Write("введите число : "); -
decimalb =decimal.Parse(Console.ReadLine()); -
One O =newOne(symbol, a, b); -
O.Result(); -
Console.ReadKey(); -
return0; -
} }
выберите арифметическое действие + - * / % : /
введите число : a
Необработанное исключение: System.FormatException: Входная строка имела неверныйформат.
в System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer
number, NumberFormatInfo info, Boolean parseDecimal)
в System.Number.ParseDecimal(String value, NumberStyles options, NumberFormat
Info numfmt)в System.Decimal.Parse(String s)
в Program.Main() в d:\project\newCSharpConsole\0001\Main.cs:строка 50
Для продолжения нажмите любую клавишу . . .
введите число : a
Необработанное исключение: System.FormatException: Входная строка имела неверныйформат.
в System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer
number, NumberFormatInfo info, Boolean parseDecimal)
в System.Number.ParseDecimal(String value, NumberStyles options, NumberFormat
Info numfmt)в System.Decimal.Parse(String s)
в Program.Main() в d:\project\newCSharpConsole\0001\Main.cs:строка 50
Для продолжения нажмите любую клавишу . . .