我对directshownet示例中的一些演示代码有一个简单的问题。 如下:
// Set the video to stream to pictureBox1
int hr;
hr = this.videoWindow.put_Owner(this.pictureBox1.Handle);
DsError.ThrowExceptionForHR(hr);
优先:
// Set the video to stream to pictureBox1
DsError.ThrowExceptionForHR(this.videoWindow.put_Owner(this.pictureBox1.Handle));
出于什么原因?如果是这样,为什么? 干杯
答案 0 :(得分:8)
假设代码不正确,方法失败并出现错误HRESULT。您可能会在不久的将来调试此代码。在那种情况下,你更喜欢什么?必须调试到ThrowExceptionForHR来检查返回的HRESULT,或者将监视放在本地hr上?
我知道我更喜欢哪一种。
假设hr有时只是一个错误代码。你喜欢什么,在ThrowExceptionForHR中放置一个断点,或者在调用者上放置一个条件断点,只有当hr中存储的值是错误代码时才会中断?
同样,我知道我更喜欢哪个。
设计代码以便于调试。你以后会感谢自己。