gpt4 book ai didi

c# - 存在 System.ArgumentException 的 catch block ,但无论如何都没有捕获到异常,为什么?

转载 作者:行者123 更新时间:2023-11-30 13:40:05 24 4
gpt4 key购买 nike

我有这个代码:

       if (typeof(Enum).IsAssignableFrom(typeof(T)))
{
try
{
return (T)Enum.Parse(typeof(T), text);
}
catch (ArgumentException e)
{
return default(T);
}
}

但是我收到以下异常:

在 mscorlib.dll 中出现类型为“System.ArgumentException”的第一次机会异常附加信息:未找到请求的值“ABC”

这怎么可能?为什么 catch block 不起作用?

最佳答案

Why is the catch block not working?

catch block 工作得很好,只是您在 Visual Studio 调试器中查看它。这就是first chance exception方法。当您调试时,所有异常都显示在 VS 中,只是如果您有适当的 catch 子句,第一次机会异常可能会消失。顺便说一句,你可以configure VS不要给他们看。

哦,还有一个旁注:在 .NET 4.0 中有 Enum.TryParse方法,因此您甚至不需要在此特定代码段中 trycatch

关于c# - 存在 System.ArgumentException 的 catch block ,但无论如何都没有捕获到异常,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9026326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com