Спасибо за ввод этого вопроса , я решил заняться созданием моего метода Create () выброса исключений , так что, как сказал Джон Скит, вам не нужно Обращайтесь с ними повсюду и просто позволяйте им пузыриться, что кажется лучшим подходом для более крупных приложений.
Итак, теперь я создаю экземпляры своих классов с помощью этого кода:
try
{
SmartForms smartForms = SmartForms.Create("ball");
smartForms.Show();
}
catch (CannotInstantiateException ex)
{
Console.WriteLine("Item could not be instantiated: {0}", ex.Message);
}
пользовательское исключение:
using System;
namespace TestFactory234.Exceptions
{
class CannotInstantiateException : Exception
{
}
}
Как узнать, какой класс исключений использовать?
В приведенном выше примере я создал свое собственное исключение, поскольку я не знаю, где взять список «всех системных исключений» или есть одно для «невозможности создания объекта» или если оно имеет какой-то другой смысл его использования и т. д. Выбор типа исключения для меня всегда кажется таким произвольным процессом, поэтому создание собственного, похоже, является лучшей идеей в целом.
Или я что-то упускаю из-за исключений? Какие еще последствия имеют отношение к решению, какой тип исключения использовать?