我正在寻找MS VC++中的答案.
在调试大型C++应用程序时,遗憾的是它具有非常广泛的C++异常用法.有时我会比实际想要的晚一点捕获异常.
伪代码示例:
FunctionB()
{
...
throw e;
...
}
FunctionA()
{
...
FunctionB()
...
}
try
{
Function A()
}
catch(e)
{
(<--- breakpoint)
...
}
Run Code Online (Sandbox Code Playgroud)
我可以在调试时用断点捕获异常.但是,如果异常发生在FunctionA()或FunctionB(),或其他一些功能,我无法追溯.(假设广泛的异常使用和上述示例的巨大版本).
我的问题的一个解决方案是在异常构造函数中确定并保存调用堆栈(即在捕获之前).但这需要我从这个基类异常类派生所有异常.它还需要很多代码,并且可能会减慢我的程序速度.
是否有更简单的方法需要更少的工作?无需更改我的大代码库?
在其他语言中是否有更好的解决方案?
在我的PHP Web应用程序中,我希望在发生某些错误时通过电子邮件收到通知.我想使用我的Gmail帐户发送这些内容.怎么可以这样做?
我正在尝试越来越多地利用using块这些天我有一个实现IDisposable的对象,但我还没想到的一件事是如何捕获异常,就像在普通的try/catch/finally中一样...任何代码样本指向正确的方向?
编辑:在阅读完回复后,问题被修改了.它是"如何在.NET 2.0的使用块中抛出异常?" 但我实际上是在寻找一种方法来捕获使用块内的这些异常.
我正在寻找有关在使用块中滚动我自己的捕获块的更多细节.
编辑:我想避免的是必须在我的使用块中使用try/catch/finally,如@Blair所示.但也许这不是问题......
编辑:@Blair,这正是我想要的,感谢您的详细回复!
这似乎是我承认的一个愚蠢的问题.但我在一家小店里加上两位设计师.我们的备份失控,因为他们只需要复制/粘贴文件,如果他们需要进行更改(版本).
我已经准备好尝试Subversion来处理我们的文本(代码)文件及其photoshop/illustrator和资产文件的所有文件.直到我注意到有一个新版本的Adobe Version Cue v3.我们之前尝试使用版本提示,但它变得复杂,设计师很快停止使用它.
寻找对Version Cue第3版有一定经验的人.
感谢您的好评.也许我应该问什么是用于版本化Photoshop和相关文件的最佳工具.我确实注意到二进制文件问题,并担心尝试解释它并保持"工作".我在Gridiron注册了测试版,感谢你!
这是与此相关的另一个问题.
如何在ROR中"命名"浏览器窗口,以便我可以在以后从另一个(弹出窗口)窗口打开一个页面(使用target ="name"html参数)
我有一个信息检索应用程序,它创建大小为10万位的位数组.数组中"set"位的数量变化很大,从所有清除到全部设置.目前,我正在使用直接位数组(java.util.BitSet),因此我的每个位数组都需要几兆字节.
我的计划是查看前N位的基数,然后决定使用哪些数据结构用于余数.显然,对于非常稀疏的位阵列,一些数据结构更好,而当大约一半的位被设置时,其他数据结构更好(当大多数位被设置时,我可以使用否定将其视为稀疏的零集合).
以下是一些约束或提示:
使用开源Java实现的东西是有帮助的,但不是绝对必要的.我对基本面更感兴趣.
Button如果你没有指定它的高度,一些WPF控件(比如)似乎很乐意消耗它'容器中的所有可用空间.
还有一些,比如我现在需要使用的那些,(多线)TextBox而且ListBox似乎更担心只需占用适合其内容所需的空间,而不是更多.
如果你将这些人放在一个单元格中UniformGrid,它们将扩展以适应可用空间.但是,UniformGrid实例并不适合所有情况.如果你有一个网格,其中一些行设置为*高度,以划分自身与其他*行之间的高度,该怎么办?如果你有一个StackPanel,你有a Label,a List和a Button,你怎么能得到列表占据标签和按钮没有吃掉的所有空间怎么办?
我认为这确实是一个基本的布局要求,但我无法弄清楚如何让它们填充他们可以填充的空间(将它们放入并将其DockPanel设置为填充也不起作用,似乎,因为在DockPanel只占用其子控件所需的空间).
一个可调整大小的GUI将是相当可怕的,如果你有一起玩Height,Width,MinHeight,MinWidth等.
你可以绑定你Height和Width属性,以你占据网格单元?或者还有另一种方法吗?
是否有任何VC++设置我应该知道生成包含更多信息的更好的PDB文件?
我有一个基于项目crashrpt的崩溃转储分析系统.
另外,我的生产构建服务器在D:\上安装了源代码,但是我的开发机器在C:\上有源代码.我在VC++设置中输入了源路径,但是当查看崩溃的调用堆栈时,它不会自动跳转到我的源代码.我相信如果我在D:\上有我的开发机器的源代码,那就行了.
我现在正在阅读头部设计模式,虽然本书非常出色,但我也希望看到它们在现实世界中是如何实际使用的.
如果你知道设计模式使用的一个很好的例子(最好是在OSS程序中,所以我们可以看一下:),请在下面列出.