问题列表 - 第12078页

错误处理没有例外

在搜索SO以获取与业务规则验证相关的错误处理方法时,我遇到的只是结构化异常处理的示例.

MSDN和许多其他声誉良好的开发资源非常明确,不能使用异常来处理常规错误情况. 它们仅用于特殊情况和程序员(而不是用户)不当使用时可能发生的意外错误.在许多情况下,用户错误(例如空白的字段)很常见,我们程序应该这样做期待,因此不是例外,也不是使用例外的候选人.

引用:

请记住,在编程中使用术语例外与认为异常应该代表异常条件的想法有关.特殊情况,就其本质而言,通常不会发生; 因此,您的代码不应该将异常作为其日常操作的一部分.

不要抛出异常来表示常见事件.考虑使用备用方法向调用者传达这些事件的发生,并在真正与众不同的事件发生时抛出异常.

例如,正确使用:

private void DoSomething(string requiredParameter)
{
if (requiredParameter == null) throw new ArgumentExpcetion("requiredParameter cannot be null");
// Remainder of method body...
}
Run Code Online (Sandbox Code Playgroud)

使用不当:

// Renames item to a name supplied by the user.  Name must begin with an "F".
public void RenameItem(string newName)
{
   // Items must have names that begin with "F"
   if (!newName.StartsWith("F")) throw new RenameException("New name must begin with /"F/""); …
Run Code Online (Sandbox Code Playgroud)

.net c# error-handling exception-handling winforms

21
推荐指数
2
解决办法
3753
查看次数

如何使用gcc/cmake在64位Linux机器上编译32位二进制文​​件

是否有可能编译项目在32位cmakegcc一对64位系统?它可能是,但我该怎么做?

当我尝试"无知"的方式,没有设置任何参数/标志/等,只是设置LD_LIBRARY_PATH找到它中的链接库~/tools/lib似乎忽略它,只查看名为lib64的子目录.

linux 64-bit gcc 32-bit cmake

128
推荐指数
6
解决办法
16万
查看次数

Ruby文件I/O中的EOFError是什么?

官方文件没有明确规定.我理解EOFError的意思是"文件结束错误",但究竟是什么意思呢?如果文件阅读器到达文件末尾,那对我来说听起来不是一个错误.

ruby file-io eoferror

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

如何发送由ON_NOTIFY处理的通知?

我正在尝试将LVN_ ITEMCHANGED发布到我的自定义gridlist的所有者.我知道如何使用PostMessage发送WM_用户消息(如此处所示)

::PostMessage( AfxGetMainWnd()->GetSafeHwnd(), WM_REFRESH, (WPARAM)pBuffer, (LPARAM)GetOutputIdx() );
Run Code Online (Sandbox Code Playgroud)

当我使用相同的代码发送LVN_ITEMCHANGED消息时,

::PostMessage( AfxGetMainWnd()->GetSafeHwnd(), LVN_ITEMCHANGED, 0, 0);
Run Code Online (Sandbox Code Playgroud)

它似乎没有被抓住

ON_NOTIFY(LVN_ITEMCHANGED, ..., ...) 
Run Code Online (Sandbox Code Playgroud)

我在业主班.

使用:: PostMessage发送Notify事件我错了吗?
Notify消息和WM_前缀消息之间是否有区别或者它们是如何处理的?
有人可以发布一个如何正确发送消息的样本吗?

提前致谢.

编辑
我找到了问题的另一种解决方案.请参阅下面的答案.

c++ mfc messages

2
推荐指数
1
解决办法
8979
查看次数

在MySQL中强制使用索引进行连接的语法是什么

在进行直接选择时使用"FORCE/USE/IGNORE INDEX"已有详细记录,但从文档中不清楚如何为JOIN执行此操作.

如何强制将特定索引用于连接表?

mysql syntax join

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

2009年Ruby on Rails与Java的开发效率

我知道这一直是一个热门话题,在论坛上产生了许多火焰战争和部落般的态度.几年过去了,Java已经发展了:我们现在几乎所有东西都有更多的注释,很好的脚手架工具,如Appfuse或Spring Roo等.

我想知道,如果您认为RnR中的开发速度仍然比Java快(这是RnR的主要资产,对于许多人来说,已经开发了RnR和Java(任何框架)的真实项目的人.在开发的第一个月之后选择它的原因

请注意,这不是关于执行速度,可伸缩性等其他好处的问题.只有开发速度.

这也不是关于其他替代方案的问题(比如使用JRuby并结合两个世界,或Grails)它只是关于Java和Ruby.

本主题的诚意非常受欢迎:大多数博客似乎都是两种技术之一的顽固粉丝.

感谢您的任何见解!

java ruby-on-rails

7
推荐指数
1
解决办法
1359
查看次数

在SQL Server 2005中连接ntext

我需要将2个ntext列连接成一个.我无法将它们转换为nchar,因为它们都包含超过4000个字符的字符串.有没有办法在SQL Server 2005中执行此操作?

sql-server sql-server-2005 ntext

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

2个HTML表单并排

我需要在页面中放置一个确认按钮和一个取消按钮.

我选择创建具有不同操作的表单,但是2个按钮(表单)不是左右显示的.

没有桌子我们怎么做?

谢谢!

html forms

11
推荐指数
3
解决办法
3万
查看次数

复杂的COBOL程序如何适应256k?

这是参考Stack Overflow Podcast#65.假设典型的60或70的服务器计算机具有256k主存储器.这样一台机器运行的最大(编译)COBOL程序有多大?这会如何严重限制COBOL程序的复杂性和功能,假设这些程序不是故意制造得比必要的更复杂?

history cobol

4
推荐指数
2
解决办法
865
查看次数

如何开始使用Scala开发Web?

现在,我熟悉Scala语言并准备进行Web开发.我遇到的唯一框架是Lift,对此一无所知.你如何使用Scala进行Web开发?

scala

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