相关疑难解决方法(0)

VS2010不会在64位版本的Windows上的WinForms应用程序中显示未处理的异常消息

当我创建一个新项目时,我对未处理的异常会有一个奇怪的行为.这就是我可以重现问题的方法:

1)创建一个新的Windows窗体应用程序(C#,. NET Framework 4,VS2010)

2)将以下代码添加到Form1_Load处理程序:

int vara = 5, varb = 0;
int varc = vara / varb;
int vard = 7;
Run Code Online (Sandbox Code Playgroud)

我希望VS中断并在第二行显示未处理的异常消息.但是,会发生的是第三行只是跳过而没有任何消息,应用程序一直在运行.

我现有的C#项目没有这个问题.所以我想我的新项目是用一些奇怪的默认设置创建的.

有没有人知道我的项目有什么问题?

我试过检查Debug-> Exceptions中的方框.但即使我在try-catch块中处理异常,执行也会中断; 这也不是我想要的.如果我没记错的话,在这个对话框中有一个名为"未处理的异常"的列或者类似的东西,这会让我感到非常兴奋.但在我的项目中只有一列("Thrown").

c# exception-handling visual-studio-2010

76
推荐指数
2
解决办法
2万
查看次数

.net c#异常处理在64位模式下失败

我在c#webservice应用程序中遇到问题.异常不再处理某一点.应用程序只需在没有任何进一步的消息/故障异常的情 这是发生的事情:

问题:

  • 在方法的catch部分中,我抛出一个新的Exception,其中包含有关异常的附加信息;
  • 基础异常来自我的应用程序的另一部分; 例外的"堆栈"大约是20,但这似乎不是一个问题;
  • 当使用VS2012开发服务器(我假设是32位)或32位模式的IIS时,调用方法会按预期获取抛出的异常(最终导致我的webservice的FaultException)

我到目前为止采取的步骤或其他可能有用的信息:

  • 我可以很容易地重现异常; 每次运行我的代码时,它都会在完全相同的点停止工作.不幸的是,我的项目太大/太复杂,不能在这里呈现.
  • 起初我假设VS2012开发服务器与IIS之间存在差异,导致我的问题.但是,当我在IIS中将我的应用程序池配置为32位时,一切正常.移至64位会导致此行为.
  • 内存使用似乎不是问题; 在我的应用程序中我使用(大)xml输入文件.对这些文件(大小)的更改对我的问题没有影响.
  • 我尝试使用为webservices提供的诊断工具.这些并没有真正帮助我,因为我可以看到在VS2012中调试我的应用程序时会发生什么(或者我应该说不会发生);

它来了!我的原始代码如下所示:

try
{
  //some code here throws an exception
}
catch (Exception ex)
{
  throw new Exception("some message", ex); //after this line no activity anymore
}
Run Code Online (Sandbox Code Playgroud)

当我将其更改为:

Exception myex = null;
try
{
  //some code here throws an exception
}
catch (Exception ex)
{
  myex = new Exception("some message", ex);
  return null;
}
finally
{
  if (myex!=null) throw myex;
}
Run Code Online (Sandbox Code Playgroud)

我的问题解决了!?有没有人对这种行为有解释?我希望依靠正常的异常处理机制.

另一句话:当我在try {}部分之前放置一个'throw new Exception()'时,我的代码运行正常(但当然,我不希望这样).

任何人都有任何线索?提前致谢!

.net c# exception-handling 32bit-64bit

12
推荐指数
1
解决办法
1258
查看次数

DataGridView:编辑时更改编辑控件大小

DataGridView中,我希望在编辑单元格时根据字符串长度扩展单元格大小.Excel也是如此.

DataGridView中,进入编辑模式时,DataGridViewTextBoxEditingControl将放置在单元格位置.我试图改变这个控件的边界/大小,但结果只是我所需大小的短暂闪烁.它直接覆盖了原始的截断方式.

关于如何使这个工作的任何想法?

谢谢,

蒂莫

c# datagridview edit

8
推荐指数
1
解决办法
1万
查看次数