Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Генерация исключения


Автор: Colloseum 27.8.2006, 19:55
Нужно мне чтоб проверить длину двух массивов, ну и если она (длина) разная то сообщить об ошибке. smile 
Сделал такое дело ифом чтобы метод выдвал false или true.
Но вот теперь хочу чтоб прога просто вылетала и не работала далее(генерила исключение), как такое организовать.  smile 

Автор: Kefir 27.8.2006, 20:10
Цитата(Colloseum @  27.8.2006,  11:55 Найти цитируемый пост)
генерила исключение

Код

throw new Exception();

Автор: marcusmae 27.8.2006, 20:21
Ну вот, допустим, есть функция с двумя аргументами - массивами :

Код

int function(int[] array1, int[] array2)
{
    if (array1.Length !=array2.Length) return -1;
    
    // todo : функциональность

    return result;
}


тогда исключение можно сделать так :

Код

int function(int[] array1, int[] array2)
{
    if (array1.Length !=array2.Length)
        throw new ArgumentException("Arrays' lengths are different.");
    
    // todo : функциональность

    return result;
}


в этом случае используется уже существующий тип исключения : System.ArgumentException.

Если причина исключения довольно специфическая [и/или при возникновении исключения нужно выполнить какие-то специальные действия], то можно создать своё собственное, унаследовавшись от одного из существующих, например от Exception или от ApplicationException (recommended). http://www.dotnetspider.com/tutorials/CustomExceptions.aspx немного рассказано, как это делать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)