Исключительная ситуация или исключение — это ошибка, которая возникает во время выполнения программы.
В языке C# все исключения являются объектами класса System.Exception
В языке C# все исключения являются объектами класса System.Exception
Если возможна не одна ошибка, то можно каждый тип исключительной ситуации поместить в отдельные операторы catch.
Внимание! Несколько операторов catch работают не корректно! В данном примере срабатывает системное сообщение, а не то, что указано в блоке catch.
Внимание! Несколько операторов catch работают не корректно! В данном примере срабатывает системное сообщение, а не то, что указано в блоке catch.
Main.cs
using
System;
class
One {
-
string
symbol;
-
decimal
a;
-
decimal
b;
-
public
One(
string
arg0,
decimal
arg1,
decimal
arg2) {
-
symbol = arg0;
-
a = arg1;
-
b = arg2;
-
}
-
public
void
Result() {
-
if
(symbol!=
"+"
& symbol!=
"-"
& symbol!=
"*"
& symbol!=
"/"
& symbol!=
"%"
) {
-
throw
new
Exception(
"Вы ввели не правильный символ!"
);
-
}
-
else
{
-
try
{
-
if
(symbol ==
"+"
) {
-
Console.WriteLine(
"{0} {1} {2} = {3}"
, a, symbol, b, (a + b));
-
}
-
else
if
(symbol ==
"-"
) {
-
Console.WriteLine(
"{0} {1} {2} = {3}"
, a, symbol, b, (a - b));
-
}
-
else
if
(symbol ==
"*"
) {
-
Console.WriteLine(
"{0} {1} {2} = {3}"
, a, symbol, b, (a * b));
-
}
-
else
if
(symbol ==
"/"
) {
-
Console.WriteLine(
"{0} {1} {2} = {3}"
, a, symbol, b, (a / b));
-
}
-
else
if
(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);
-
}
-
}
-
}
}
class
Program {
-
public
static
int
Main() {
-
Console.Write(
"выберите арифметическое действие + - * / % : "
);
-
string
symbol = Console.ReadLine();
-
Console.Write(
"введите число : "
);
-
decimal
a =
decimal
.Parse(Console.ReadLine());
-
Console.Write(
"введите число : "
);
-
decimal
b =
decimal
.Parse(Console.ReadLine());
-
One O =
new
One(symbol, a, b);
-
O.Result();
-
Console.ReadKey();
-
return
0;
-
}
}
using
System;
class
One {
-
string
symbol;
-
decimal
a;
-
decimal
b;
-
public
One(
string
arg0,
decimal
arg1,
decimal
arg2) {
-
symbol = arg0;
-
a = arg1;
-
b = arg2;
-
}
-
public
void
Result() {
-
if
(symbol!=
"+"
& symbol!=
"-"
& symbol!=
"*"
& symbol!=
"/"
& symbol!=
"%"
) {
-
throw
new
Exception(
"Вы ввели не правильный символ!"
);
-
}
-
else
{
-
try
{
-
if
(symbol ==
"+"
) {
-
Console.WriteLine(
"{0} {1} {2} = {3}"
, a, symbol, b, (a + b));
-
}
-
else
if
(symbol ==
"-"
) {
-
Console.WriteLine(
"{0} {1} {2} = {3}"
, a, symbol, b, (a - b));
-
}
-
else
if
(symbol ==
"*"
) {
-
Console.WriteLine(
"{0} {1} {2} = {3}"
, a, symbol, b, (a * b));
-
}
-
else
if
(symbol ==
"/"
) {
-
Console.WriteLine(
"{0} {1} {2} = {3}"
, a, symbol, b, (a / b));
-
}
-
else
if
(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);
-
}
-
}
-
}
}
class
Program {
-
public
static
int
Main() {
-
Console.Write(
"выберите арифметическое действие + - * / % : "
);
-
string
symbol = Console.ReadLine();
-
Console.Write(
"введите число : "
);
-
decimal
a =
decimal
.Parse(Console.ReadLine());
-
Console.Write(
"введите число : "
);
-
decimal
b =
decimal
.Parse(Console.ReadLine());
-
One O =
new
One(symbol, a, b);
-
O.Result();
-
Console.ReadKey();
-
return
0;
-
}
}
выберите арифметическое действие + - * / % : /
введите число : 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
Для продолжения нажмите любую клавишу . . .