Не происходит исключения под студией
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 04.06.11 14:54
Оценка:
Приветствую.

Win-форма. На форме ListView и Button. Всё по умолчанию — сгенерируйте их сами, если надумаете попробовать.
Также есть два класса (неважно какие):
    public class Class1
    {
        public string Name { get; set; }
    }

и
    public class Class2
    {
        public object Value { get; set; }
    }


При нажатии на кнопку в ListView добавляется пара ListViewItem у которых в Tag присвоен класс Class1.
Код формы:
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            listView1.ListViewItemSorter = new ListComparer();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Class1 class1 = new Class1();

            ListViewItem lvi = new ListViewItem {Tag = class1,Text = "1"};
            ListViewItem lvi1 = new ListViewItem { Tag = class1, Text = "2"};
            listView1.Items.Add(lvi);
            listView1.Items.Add(lvi1);
        }
    }


А вот в коде сортировщика:
    class ListComparer : System.Collections.IComparer
    {
        public int Compare(object x, object y)
        {
            Class2 oX = (Class2)((ListViewItem)x).Tag;
            Class1 oY = (Class1)((ListViewItem)y).Tag;
            
            return 0;
        }
    }

свойство Tag преобразуем не к Class1, а к Class2.

Компилируем.
1. Запускаем под студии — всё ОК.
2. Запускаем без студии — Exception.

Это лечится?
Вселенная бесконечна как вширь, так и вглубь.
Re: Не происходит исключения под студией
От: vl690001x Россия  
Дата: 04.06.11 15:08
Оценка:
Здравствуйте, Real 3L0, Вы писали:

По-моему тоже сталкивался с чем-то подобным, не помню даже в чем суть но что-то похожее — под дебагером некоторые исключения не вылезают явно а просто на этом месте происходит возврат из функции. Кажется я как-то даже нашел этому логичное объяснение (и никакого бага студии насколько я помню тут нет), но щас забыл). Записывать надо!

А еще кстати пошаговое выполнение в свойствах у меня почему-то перестало работать. Где-то надо включить.
Re: Не происходит исключения под студией
От: adontz Грузия http://adontz.wordpress.com/
Дата: 04.06.11 15:14
Оценка: 2 (1)
Здравствуйте, Real 3L0, Вы писали:

R3>Это лечится?


Menu\Debug\Exceptions поставить галочку у Thrown?
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: Не происходит исключения под студией
От: adontz Грузия http://adontz.wordpress.com/
Дата: 04.06.11 15:16
Оценка: +1
Здравствуйте, vl690001x, Вы писали:

V>А еще кстати пошаговое выполнение в свойствах у меня почему-то перестало работать. Где-то надо включить.


Menu\Tools\Options, Debugging\General, Step over properties and operators (Managed only)
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: Не происходит исключения под студией
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 04.06.11 15:19
Оценка:
Здравствуйте, vl690001x, Вы писали:

V>По-моему тоже сталкивался с чем-то подобным, не помню даже в чем суть но что-то похожее — под дебагером некоторые исключения не вылезают явно а просто на этом месте происходит возврат из функции. Кажется я как-то даже нашел этому логичное объяснение (и никакого бага студии насколько я помню тут нет), но щас забыл). Записывать надо!


А вроде да. У меня при работе с потоками, при проходе по строке с эксепшеном, иногда происходит просто выход из функции.
Получается, студия крутит сортировку в отдельном потоке.
Вселенная бесконечна как вширь, так и вглубь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.