Исключение Argument Exception - C#

Узнай цену своей работы

Формулировка задачи:

Программа должна открывать txt, rtf, файлы без расширения и файлы с созданным мною расширением, ( что-то вроде (.lala) ). Но фильтры я выставил так, что видно все файлы абсолютно, и можно, допустим, легко тыкнуть по .exe или .psd или .jpeg и выйдет ошибка "Вызвано исключение: "System.ArgumentException" в System.Windows.Forms.dll" Как лечить господа? Дело чрезвычайной важности.
private void открытьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox1.Clear();
            openFileDialog1.Filter = "RTF файлы (*.rtf)|*.rtf|TXT файлы (*.txt)|*.txt|Все файлы (*.*)|*.*";
            openFileDialog1.Title = "Открыть документ";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            { 
                    if (openFileDialog1.FilterIndex == 1 | openFileDialog1.FilterIndex == 3)
                      richTextBox1.LoadFile(openFileDialog1.FileName);
                    else
                    {
                        richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText);
                    }
                    
                }
             }
зы. ругается на строчку
richTextBox1.LoadFile(openFileDialog1.FileName);
, естественно, из-за третьего фильтра. Засунул первый и третий в кучу, потому что иначе .rtf открывается неправильно.
Try catch я орудую неумело, вроде как он нужен, но пробовал - не вышло.

Решение задачи: «Исключение Argument Exception»

textual
Листинг программы
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
    string ext = Path.GetExtension(openFileDialog1.FileName);
    if (".txt".Equals(ext, StringComparison.OrdinalIgnoreCase))
        richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText);
    else if (".rtf".Equals(ext, StringComparison.OrdinalIgnoreCase))
        richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.RichText);
    else
    {
        // Неподдерживаемый формат
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы