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

时间:2011-07-21 15:06:03

标签: c# .net exception console-application class-library

我尝试重新抛出异常,但它无法正常工作。 我在Visual Studio中得到'Exception is unhandled'错误。

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;
  }
}

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

感谢。

2 个答案:

答案 0 :(得分:8)

它按预期工作。

你抓住,然后重新抛出异常 - 你现在没有处理重新抛出的异常。这就是你得到错误的原因。

答案 1 :(得分:0)

捕获,执行一些处理,然后抛弃异常的重点是使它可以通过堆栈中代码上方某处的catch语句捕获。如果未在任何地方捕获异常,它将升至CLR级别并停止该过程。

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