Я создаю метод расширения на C# для получения некоторого значения из datagridview. Здесь, если пользователь дает имя столбца, которое не существует, я хочу, чтобы эта функция выдавала исключение, которое может обрабатываться в том месте, где будет вызываться эта функция. Как я могу это достичь.Как создать собственный обработчик исключений для настраиваемых элементов управления или методов расширения
public static T Value<T>(this DataGridView dgv, int RowNo, string ColName)
{
if (!dgv.Columns.Contains(ColName))
throw new ArgumentException("Column Name " + ColName + " doesnot exists in DataGridView.");
return (T)Convert.ChangeType(dgv.Rows[RowNo].Cells[ColName].Value, typeof(T));
}
@ Zach: Вы поняли, что я хотел сказать. Но я здесь немного смущен. Предположим, что я создаю сборку для этого, а затем включаю ее в какой-то другой проект. Я не использую никаких обработчиков исключений, а затем, где произойдет исключение? Я имею в виду в моей dll или коде пользователя. Мне кажется, что моя dll повесится на этом месте. И пользователь, использующий dll, поймает их в ловушку, и все его приложение будет закрыто abnorymally. Это так ? –
@Shantanu: Пока вы создаете свои собственные классы исключений 'public', ваш другой проект сможет поймать пользовательские исключения, которые вы бросаете. Если нет, другой проект выйдет из строя (если только он не поймает все «Исключения», но это считается плохой практикой). –