Tag: 错误抑制

C#:任何抑制编译器错误的方法都类似于抑制警告消息?

我有以下代码生成编译器错误: Boolean IConvertible.ToBoolean(IFormatProvider provider) { ThrowHelper.ThrowInvalidCast(typeof(MyType), typeof(Boolean)); } 编译器抱怨并非所有代码路径都返回一个值。 这里的问题是ThrowHelper 总是会抛出一个错误。 它是一个静态类,调用静态方法。 我知道在ThrowHelper调用之后我可以用一个愚蠢的“return true”来满足编译器,但这似乎是不必要的代码。 我知道我可以抑制警告消息,但是当我尝试使用SuppressMessageAttribute它并没有阻止编译器抱怨。 有没有办法只为这种方法抑制这个错误?

我想念C#中Visual Basic的“On Error Resume Next”。 我现在该如何处理错误?

在Visual Basic中,我在程序的头部编写了On Error Resume Next ,并在整个项目中抑制了错误。 在C#中我非常想念这个function。 对于每个程序而言,通常的try-catch处理不仅非常耗时,而且会带来不希望的效果。 如果遇到错误,即使已处理,代码也不会从发生的位置继续 。 使用On Error Resume Next ,代码从错误点继续,仅跳过导致错误的函数调用。 我还没有深入参与C#,但也许C#中存在比原始try-catch更好的error handling。 我还想知道发生错误的模块或函数名称以及错误消息中的行号。 到目前为止, Exception类没有提供这些function。 任何想法(当然,托管,不涉及我自己的应用程序上的任何流程类)? 你如何处理大项目中的错误? 我希望我不必为每个方法添加try-catch 。 不知何故C#抛出了许多错误 – 这似乎是该语言的典型。 我发现我的解决方案可以解决我的几个问题: public partial class Form1 : Form { public Form1() { InitializeComponent(); } [STAThread] static void Main() { Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); //setup global error handler Application.Run(new Form1()); […]

如何抑制thread.abort()错误C#?

我的程序加载时,我在后台线程上显示启动画面。 一旦加载我就会中止线程,因为它的唯一目的是显示一个正在加载的启动表单。 我的问题是,当中止一个Thread时,它会抛出一个ThreadAbortException ,用户只需单击Continue on。 我该如何处理? 我试图压制它 – > try { Program.splashThread.Abort(); } catch(Exception ex) { } 但我有一种感觉,这会让我在这里大吼大叫,它无论如何都行不通。 谢谢!