Ответ 1
object m = null;
string s = m.ToString();
Мгновенный NullReferenceException
.
У меня есть код в обработчике ошибок. Мне нужно протестировать реалистичную ошибку. Как я могу создать ошибку, которая имеет полную трассировку стека и столь же реалистична, как ошибка времени выполнения.
Я использую общий catch для исключения. Поэтому в данном конкретном случае не нужен особый тип исключения.
Спасибо
object m = null;
string s = m.ToString();
Мгновенный NullReferenceException
.
Что насчет
throw new Exception("this is a test");
Вы можете выбросить любое исключение .Net, вызвав
throw new OutOfMemoryException();
throw new IndexOutOfRangeException();
throw new ArgumentNullException();
Имена исключений могут быть любыми исключениями в dotnet. вы даже можете создавать и создавать свои собственные исключения.
Чтобы получить список исключений CLR, нажмите VS в меню отладки, а затем меню исключений.
Одно исключение DivideByZeroException!:
int i = 0;
int j = 1 / i;
Вы можете создать исключение с нулевой ссылкой... или деление на нулевое исключение.
Я рекомендую вам попробовать использовать насмешливую структуру, например. Moq и Rhino Mocks, а затем передать связанное исключение, которое вы надеетесь поймать.
throw new IndexOutOfRangeException();
как насчет хорошего старого деления на ноль?
5/0