我们正在使用来自第3方的外部API,并且从反编译代码中,所有功能都有try/catch
,其中包含空catch
语句。
有没有办法从外部API(在C#中)禁用try / catch?
答案 0 :(得分:1)
如果许可允许 - 反编译DLL,修改异常处理代码,重新编译回dll并使用它。您可以使用此Opensource工具来反编译ilspy.net
如果没有,那么您还可以查看AppDomain.CurrentDomain.FirstChanceException
,
MSDN Reference Link这将为应用程序域中引发的每个异常引发一个事件。因此,只要抛出异常,就会引发FirstChanceException
事件。
有关好例子的详细说明(就像我在这里发布的那样)refer to this Post。
示例:
static void Main(string[] args)
{
AppDomain.CurrentDomain.FirstChanceException += (sender, eventArgs) =>
{
Console.WriteLine("First chance exception: " + eventArgs.Exception.Message);
};
try
{
Console.WriteLine("Before exception.");
throw new Exception("Some error.");
}
catch
{
Console.WriteLine("Handled.");
}
}
答案 1 :(得分:0)
除了反编译代码,删除所有空的try/catch
块,并重新编译代码,nope。