Конструктор не вызывает исключенияC#

Место общения программистов C#
Ответить
Anonymous
 Конструктор не вызывает исключения

Сообщение Anonymous »

У меня есть конструктор, в котором я ставлю строку и ожидаю получить исключение, если метод возвращает NULL. Я попробовал это в вакууме, и он работает просто отлично (попробуйте Catch, обычно должен поймать исключение в конструкторе), но в коде я только что упоминался, он не уловил исключение, независимо Object. < /p>
Пользователь вводит свое имя, и я использую конструктор для его сохранения. USERCONTROLLER USERCONTROLLER1 = NEW USERCONTROLLER (имя пользователя); затем работает конструктор и этот метод.public class UserController
{
private User User;

public UserController(string userName)
{
try
{
User = GetCurrentUser(userName);
}
catch (Exception ex)
{
Console.WriteLine("Exception was caught: " + ex.Message);
}
}

public User GetCurrentUser(string userName)
{
if (!File.Exists("users.json"))
throw new FileNotFoundException("File users.json was not found");

var json = _fileSystem.ReadAllText("users.json");
var users = JsonSerializer.Deserialize(json) ?? new List();

var user = users.FirstOrDefault(u => u.Name == userName);
if (user == null)
throw new NullReferenceException($"User with this name: {userName} was not found");

return user;
}
}
< /code>
стек: < /p>
method ClassLibrary1.dll!FitnessLogic.Controllers.UserController.GetCurrentUser(string userName) row 101 C#
ctor ClassLibrary1.dll!FitnessLogic.Controllers.UserController.UserController(string UserName) row 54 C#
and activating usercontroller
ConsoleApp1.exe!ConsoleApp1.Program.Main(string[] args) row 26 C#
< /code>
Я использовал разные исключения (например, Argentnullexception) благодаря Madreflection. Сейчас это на самом деле вызывает исключение (уведомление не отправляется). Проблема в том, что NullReferenceException дает вам уведомление, а другие - нет. Мне жаль. Он посылает мне уведомление (например, на этом видео), но я могу продолжать работать, а затем поймать, будет работать
p.s2: в этой статье это поведение объясняет это поведение https://learn.microsoft.com/ru-ru/visualstudio/ отладчик/Управление-Исключения с де-дебуггером? View = VS-2022


Подробнее здесь: https://stackoverflow.com/questions/793 ... -exception
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»