Исключение Argument Exception - C#
Формулировка задачи:
Программа должна открывать txt, rtf, файлы без расширения и файлы с созданным мною расширением, ( что-то вроде (.lala) ).
Но фильтры я выставил так, что видно все файлы абсолютно, и можно, допустим, легко тыкнуть по .exe или .psd или .jpeg и выйдет ошибка "Вызвано исключение: "System.ArgumentException" в System.Windows.Forms.dll"
Как лечить господа? Дело чрезвычайной важности.
зы. ругается на строчку
, естественно, из-за третьего фильтра. Засунул первый и третий в кучу, потому что иначе .rtf открывается неправильно.
Листинг программы
- 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);
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
- {
- // Неподдерживаемый формат
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д