Информатика, вопрос задал dagmaii1 , 7 лет назад

Имеется статический метод void M(), вызов которого может выбрасывать исключения Exception и ArgumentException. Объявить статический метод int M1(), который вызывает метод М() и возвращает 1, если метод M() выбросит ArgumentException, возвращает 2, если метод M() выбросит Exception, и возвращает 0, если метод M() ничего не выбросит.

Ответы на вопрос

Ответил gajdasevromam
0

Ответ:

ArgumentException вызывается при вызове метода и по крайней мере один из переданных аргументов не соответствует спецификации параметра вызываемого метода. Свойство ParamName идентифицирует недопустимый аргумент.

Чаще всего ArgumentException вызывается средой CLR или другой библиотекой классов и указывает на ошибку разработчика. При вызове ArgumentException из кода следует убедиться, что свойство Message исключения содержит осмысленное сообщение об ошибке, описывающее недопустимый аргумент и ожидаемый диапазон значений для аргумента.

Основные производные классы ArgumentException ArgumentNullException и ArgumentOutOfRangeException. Эти производные классы следует использовать вместо ArgumentException, за исключением случаев, когда ни один из производных классов является приемлемым. Например, исключения должны создаваться следующим образом:

ArgumentNullException, когда null передается в метод, который не принимает его в качестве допустимого аргумента.

ArgumentOutOfRangeException, если значение аргумента находится вне диапазона допустимых значений; Например, если значение "46" передается в качестве аргумента month во время создания DateTime.

Объяснение:

Ответил Омскаяптица
0

using System;

class H {

   

static void M()

{

   Console.WriteLine("method");

}

static int M1()

{

   try

   {

       M();

       Console.WriteLine(0);

       return 0;

   }

   catch (ArgumentException ex)

   {

        Console.WriteLine(1);

        return 1;

   }

   catch (Exception ex)

   {

        Console.WriteLine(2);

        return 2;

   }

}

 static void Main() {

   int a = M1();

   Console.WriteLine(a);

 }

}

Приложения:
Новые вопросы