我几乎肯定答案是肯定的.如果我使用Try Finally块但不使用Catch块,那么任何异常都会冒泡.正确?
一般的做法有什么想法吗?
赛斯
我有一个最佳实践问题.我意识到这是主观的,但是如果这是一种常见的编程习惯,我想问一下比我聪明的人.
如果你有一种非常重要的方法,你不想干扰应用程序的重要功能,那么使用像这样的错误接收器是否常见?
Try
'do stuff. not important if it fails.
Catch ex as exception
'sink. do nothing.
End Try
Run Code Online (Sandbox Code Playgroud)
如果您正在考虑雇用我,而您正在阅读我的一些代码并看到了这个......对吗?
赛斯
编辑 哇!谢谢你的回答.我认为共识是永远不应该做的,或者它应该是非常罕见的.
我想我会给你这个问题的背景.首先,我非常熟悉Karl Sequin文章,并且已经遵循了这种模式多年.
但是今天在我正在进行的项目中,我正在完成更改列表并面临添加一个简单的功能.(如果您想知道......它正在为富文本框添加上下文菜单支持.)
所附说明称,"如果需要的时间超过15分钟......就放弃它."
所以我面临着添加一个潜在有用的功能但是没有时间来测试它不会破坏工作功能.对于记录,我们的此系统的异常处理程序具有处理和下沉或记录这些错误的机制.但是如果我正在开发一个没有强大错误处理系统的系统呢?是否可以添加此功能,如果发生错误......什么都不会丢失.
这是我的想法.但我已经把你的信息铭记于心......基本上这是一个坏主意.
赛斯
我以为我可以通过键入CMD $(FULL_CURRENT_PATH)直接使用nppexec by(或内置的运行命令)从Notepad ++运行批处理文件
但是因为notepad ++有一个CMD命令(在npp控制台中打开cmd shell),所以它不起作用.因此,运行上面的命令会在npp控制台中打开cmd shell,但不会运行批处理文件.此时我可以运行$(FULL_CURRENT_PATH)并运行批处理文件.但是我必须输入exit才能获得命令shell模式.
有人可以告诉我如何运行批处理文件,我目前正在npp中直接编辑npp.
我是Visual Studio中创建SQL SSRS(SSRS)报告的新手.到目前为止我印象深刻,但我无法找到如何在我的新报告中设置从纵向到横向的页面方向.
我认为这将在报告/报告属性设置中,但它不存在?
如何为我的新SSRS报告更改页面方向从纵向到横向?
在过去的几天里,我问了几个关于代表在这里和这里的问题.我承认......我真的不了解代表们.而且我真的非常想要理解并掌握它们.(我可以定义它们 - 类型安全函数指针 - 但由于我对C类型语言没什么经验,所以它实际上并没有用.)
任何人都可以推荐一些能以某种方式解释代表的在线资源吗?
这是我怀疑VB实际上让我失望的那一刻,因为它在幕后为我做了一些布线.
理想的资源只是解释代表是什么,而不参考其他任何事件(事件和事件处理程序),会告诉我所有事情是如何连接起来的,解释(正如我刚才所了解的)委托是类型,是什么使它们作为一个独特的类型(也许使用一点ildasm魔法)).然后,该基础将扩展,以解释代表如何与事件和事件处理程序相关,这些事件和事件处理程序本身需要一个很好的解释.最后,这个资源可以使用真实示例将它们联系在一起,并解释编译器会自动发生哪些布线,如何使用它们等等.哦,是的,当你应该而且不应该使用代理时,换句话说,缺点和替代方案使用代表.
你说什么?你们中的任何人都可以向我指出可以帮助我开始掌握之旅的资源吗?
编辑 最后一件事.理想的资源将解释如何在接口声明中使用委托.这真是让我失望的事情.
谢谢你的帮助.
赛斯
我会做对罗伊Osherove的博客中定义的codekata 这里.
其中一条规则是你在做kata时不能使用鼠标.
今天,我第一次尝试做卡塔我一直在努力更好地理解如何在没有鼠标的情况下使用VS. 我了解到CTL-ALT-A将成为我的朋友,因为我可以在那里输入命令.
有人有一个指向VS Commmands的完整引用的指针.我想要命令名称(Edit.ToggleBookmark),命令键击(如Ctl-K,K)以及命令所需的任何参数.
我有一些具体的问题.
如果你可以帮助那两个,那么我将会走得更远.
谢谢.
赛斯
编辑
刚想出如何添加引用.我正在研究一个未保存的项目,并且Add References命令(Project.AddReference)正在返回错误......我认为这是因为我正在使用命令......但实际上是因为我没有保存项目呢.
所以......如果你可以帮我把窗户钉住那会很棒.
赛斯
即使有所有帮助也可以完成命令...我仍然无法弄清楚如何
- 固定Visual Studio窗口以使其保持打开状态.
- 如何在任何窗口触发上下文菜单.例如,解决方案资源管理器?
- 如何删除或删除文件?
编辑
此StackOverflow问题回答了上下文菜单问题.
现在......如果有人能告诉我如何钉一个窗口.那将是真棒.
赛斯
我创建了一个向导表单,表单的每个页面都会显示一些帮助文本.
我要么需要一个
1.Label控制我可以在哪里固定标签的高度和宽度,这样它就不会变长,而是将文本包裹在我固定的宽度和高度内.
但是标签没有尺寸调整手柄,似乎会自动调整内容.
要么
2.A文本框控件(其中我已经可以设置高度和宽度,如果我设置多过),但是用户不应该能够编辑文本框...其实文本框中不应该能够在所有收到的焦点.(像标签)
有人能告诉我如何做其中一个.
赛斯B斯皮尔曼
在C#中,我可以测试一下......
public event EventHandler Trigger;
protected void OnTrigger(EventArgs e)
{
if (Trigger != null)
Trigger(this, e);
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在VB.NET中执行此操作?测试null我的意思是?
更多信息
我忘了提.我有用C#编写的类,但我在VB.NET中编写单元测试.
我在单元测试中尝试这个...
If myObject.Trigger IsNot Nothing Then
''#do something
End If
Run Code Online (Sandbox Code Playgroud)
这导致编译时错误,该错误表示......"公共事件触发器是一个事件,无法直接调用.使用RaiseEvent语句引发事件."
赛斯
我在一个应用程序中使用Quartz.NET.处理Quartz.NET的正确方法是什么?
现在我正在做
if (_quartzScheduler != null)
{
_quartzScheduler = null;
}
Run Code Online (Sandbox Code Playgroud)
这还不够,还是应该在jobType类中实现dispose或者什么?
赛斯
我正在研究我的新MVC书,当然,样本都像往常一样在c#中.
有一行代码说
public bool? WillAttend { get; set; }
Run Code Online (Sandbox Code Playgroud)
作者解释说,问号表明这是一个可以为空的(三态)布尔,可以是真的,错误的.或者为null.(新的C#3惯例.)
vb.net是否支持这样的任何约定.当然我可以在vb.net中声明一个布尔值,我可以显式地将其设置为Null(在vb.net中为Nothing).
有什么不同.在c#中还有更多内容吗?好处?