создал класс, в котором я пытаюсь проверить пользовательское исключение, которое я создал в другом классе. Положение исключения броска отличается в двух форматах кода. я хочу знать, в чем разница и проблема между двумя условиями, которые здесь разрабатываются *
namespace ConsoleApp5
{
class Program
{
static int newdivision(int a, int b)
{
if (a % 2 == 0)
{
throw new Myfirstuserdefinedexception();
выполнение заканчивается здесь с необработанным исключением типа Myfirstuserdefinedexception, показанным в консоли
}
int c = 1;
try
{
здесь когда я раскомментирую нижеприведенные 4 строки и комментирую тот же фрагмент кода, приведенного выше, он не показывает никакой необработанной ошибки исключения
//if (a % 2 == 0)
//{
//throw new Myfirstuserdefinedexception();
//}
c = a / b;
return c;
}
catch
{
return 0;
}
}
static void Main(string[] args)
{
Console.WriteLine(newdivision(25,5));
Console.WriteLine(newdivision(40, 2));
}
}
}
Это определенный пользователем класс исключения, который я создал. Он ничего не делает, а просто печатает текст
namespace ConsoleApp5
{
public class Myfirstuserdefinedexception : Exception
{
public Myfirstuserdefinedexception()
{
Console.WriteLine("user defined exception is handled");
}
public Myfirstuserdefinedexception(string this_is_another_i_dont_know_what_program):base(this_is_another_i_dont_know_what_program) { }
}
}