我尝试重新抛出异常,但它无法正常工作。 我在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;
}
}
此方法属于类库,我从控制台应用程序调用它。 请帮我。
感谢。
答案 0 :(得分:8)
它按预期工作。
你抓住,然后重新抛出异常 - 你现在没有处理重新抛出的异常。这就是你得到错误的原因。
答案 1 :(得分:0)
捕获,执行一些处理,然后抛弃异常的重点是使它可以通过堆栈中代码上方某处的catch语句捕获。如果未在任何地方捕获异常,它将升至CLR级别并停止该过程。
如果你想捕获异常,处理它,然后继续,这很简单:只是不要把它扔回catch语句。