C#: Do you raise or throw an exception?
我知道这可能并不重要,但我想知道什么是正确的。
如果一段代码包含某些版本的
关键字是
他们有某种不同的含义吗? 其中一个是否与另一个有所不同? 或者它只是两个词意味着完全相同的东西?
在C#术语中,raise在事件的上下文中使用,throw在异常的上下文中使用。
就个人而言,我认为
我不能代表C#,但在C ++中选择"throw"是因为"raise"已经被视为标准函数名。
各种语言的术语都倾向于"抛出"。我同意'throw'更有意义,因为这是使用的关键字,编译器/语言文档总是引用异常被"抛出"。
然而,在庞然大物的肚子里,异常实际上是被提升,而不是被抛出。如果你在调试器中发现自己已经足够深入了解EXCEPTION_RECORD,那么你可以用SEH的术语进行讨论,其中特定类的编译器/语言异常(eh,clr,vcpp)只是众多异常之一。我认为引发异常的原始条件,如页面错误和堆栈溢出,是内核"注意到"通知'条件的用户模式的条件,而不是用户代码"抛出"自己的异常所以这个术语在这种情况下更有意义。
我认为虽然抛出是更好的,但这两个术语是可以互换的。如果你必须在某些文本中使用它两次非常有用,这样你就可以避免重复相同的单词。但这是文体学,对于技术写作来说并不是必需的(但仍然是一件好事)。
投掷或加注看起来很好,他们对我来说意味着相同。我不会写它,但是当我说话时,我通常会说'查看例外'。
对于活动,我会使用"举办活动"或"举办活动"。