C#学习教程:c#.net中throw和throwex的区别我读到throw存储了先前的异常而不是获取这一行。我可以举例说明吗?是-throw重新抛出捕获的异常,并保留堆栈跟踪。throwex抛出相同的异常,但将堆栈跟踪重置为该方法。除非你想重置堆栈跟踪(即屏蔽库的内部工作的公共调用者),throw通常是更好的选择,因为你可以看到异常发生的位置。我还想提一下“通过”catch块:try{//dostuff}catch(Exceptionex){throw;}没有意义。这与根本没有try/catch的行为完全相同。throw将重新抛出原来的异常;throwex将创建一个新异常,因此堆栈跟踪会发生变化。通常它没有多大意义,通常你应该只是抛出,或者创建一个新的异常并抛出它,例如,上面是C#学习教程:C#中throw和throwex的区别。很有用,需要了解更多C#学习教程,希望大家多多关注——//不是很棒的代码,demo目的只是try{File.Read("blah");}catch(FileNotFoundExceptionex){thrownewConfigFileNotFoundException("Oops",ex);}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
