异常未处理-重新抛出异常

本文关键字:抛出异常 -重 未处理 异常 | 更新日期: 2023-09-27 18:03:06

我尝试重新抛出异常,但它不工作。我得到'Exception was unhandled'错误在visual studio。

public KeyValueConfigurationCollection getMyAppSetting()
{
  Configuration config;
  ConfigurationFileMap configFile;
  try
  {
    configFile = new ConfigurationFileMap(ConfigurationManager.OpenMachineConfiguration().FilePath);
    config = ConfigurationManager.OpenMappedMachineConfiguration(configFile);
    AppSettingsSection MyAppSettingSection = (AppSettingsSection)config.GetSection("xxx/appSettings");
    MyAppSettingSection.SectionInformation.AllowExeDefinition = ConfigurationAllowExeDefinition.MachineToRoamingUser;
    return MyAppSettingSection.Settings;
  }
  catch (Exception ex)
  {
    logger.Fatal("...");
    throw;
  }
}

这个方法属于一个类库,我从控制台应用程序调用它。请帮帮我。

谢谢。

异常未处理-重新抛出异常

一切正常

你捕获,然后重新抛出异常——你现在没有处理重新抛出的异常。

捕获,做一些处理,然后抛出异常的重点是使它可以被堆栈中代码上方的某个catch语句捕获。如果在任何地方都没有捕捉到异常,它将上升到CLR级别并停止进程。

如果你想捕获异常,处理它,然后继续,这很简单:只是不要在catch语句中抛出它。