【发布时间】:2014-01-21 08:13:26
【问题描述】:
在 C#.NET 中,我如何创建一个新的异常类并在运行时抛出它。 我需要在运行时根据我收到的输入字符串生成异常类名称。看来我应该使用 Reflection.emit,但我不知道该怎么做。
【问题讨论】:
-
您需要为我们提供更多背景信息。老实说,这听起来是个坏主意——你想解决什么问题?
-
如果你在运行时生成异常类型,你怎么期望有人能够捕捉到它?除非它们捕获了其中一种基本异常类型,在这种情况下,您的异常类有什么用处?
-
@Lukazoid 我同意这似乎有点“无法使用”,但这个问题对我来说似乎很有趣。
-
@nowhewhomustnotbenamed.:我不会这么说。我想说的是,在执行时,基于一个字符串,是一种代码味道……但是声明你自己的异常类型是完全有充分理由的。
-
我不需要捕捉它,我需要它用于测试目的(我想从封闭系统中得到一些东西)。它不会在实际程序中使用(假设是用户)。否则我意识到这是一个非常糟糕的做法。
标签: c# .net exception runtime reflection.emit