假设你在一个Ruby on Rails应用程序中有一个ActiveRecord :: Observer – 你如何用rSpectesting这个观察者?
在我工作的应用程序中,任何业务逻辑错误都会导致引发exception,并且调用代码处理exception。 这种模式在整个应用程序中使用,运作良好。 我有一种情况,我将试图从业务层内执行一些业务任务。 对此的要求是一个任务的失败不应该导致该过程终止。 其他任务仍然应该能够执行。 换句话说,这不是一个primefaces操作。 我遇到的问题是,在操作结束时,我希望通知抛出exception的调用代码,确实发生了exception。 考虑下面的伪代码片段: function DoTasks(MyTask[] taskList) { foreach(MyTask task in taskList) { try { DoTask(task); } catch(Exception ex) { log.add(ex); } } //I want to throw something here if any exception occurred } 我扔什么? 我以前在职业生涯中遇到过这种模式。 在过去,我保存了所有exception的列表,然后抛出一个包含所有捕获的exception的exception。 这似乎不是最优雅的方法。 从每个例外中保留尽可能多的细节以呈现给调用代码是很重要的。 思考? 编辑:解决scheme必须使用.Net 3.5编写。 我不能使用任何beta库,或者如Bradley Grainger所提到的.Net 4.0中的AggregateException(下面),这将是集合exception抛出的一个很好的解决scheme。
我试图寻找类似的解决scheme,但没有看到一个,所以我想知道什么是完成以下最好的方法。 我有一个有1700万行的表,都有一个唯一的ID。 我们最近创build了一个新的表,这个表将与上一个表一起使用,其中新表的外键是旧表的唯一ID。 例如。 表1 – id,field1,field2,field3 …表2 – table1.id,field1 … 问题是,因为我们正在把它迁移到一个实际的环境中,所以我们需要用表1中的每一行包含来自表1的id的行来填充表2.现在需要表1-1的test,null表2对于table1中的每一行,都有:1,null,…等等。 主要问题是表1中的ID不是全部顺序,所以我们必须从表1中读取,然后根据find的ID插入到表2中。 有没有更简单的方法来解决这个问题? 在此先感谢乔 另外为了澄清,表2将是新数据,并且它将从表1中唯一包含的是保持外键关系的id 这也是SQL Server 2000
是否有人知道是否有办法将SQL Server备份编写到batch file中,以便可以从命令行执行?
当我尝试在VS 2008中编译程序集时,(有时候,通常在项目工作2-3小时后)出现以下错误 Metadata file '[name].dll' could not be opened — 'Not enough storage is available to process this command. 通常要摆脱我需要重新启动Visual Studio 我需要在我的项目中使用的程序集足够大(> 70 Mb),可能这就是这个错误的原因,在我以前的项目中我从来没有见过这样的东西。 好吧,如果这是我的问题是为什么发生这种情况,我需要做什么来阻止它的原因。 我有足够的可用内存在我的驱动器和2Gb的RAM(只有约1.2 Gb的exception发生时利用) 我search了这样的问题的答案。 build议通常涉及到: 到在WinXP中有限的用户处理程序的数量… 到每个进程可用内存的物理限制 我想也不能解释我的情况 对于用户处理程序和其他GUI资源 – 我不认为这可能是一个问题。 大的70Mb程序集实际上是一个无GUI的代码,可以与套接字一起工作,并实现专有协议的parsing器。 在我目前的项目中,我只有3个GUI窗体,GUI控件总数<100。 我想我的情况更接近这样一个事实,即在Windows XP中,进程地址空间受到2 GB内存的限制(考虑到内存分段,有可能我没有足够大的空闲段来分配内存)。 然而,很难相信在Visual Studio中使用这个项目2-3个小时之后,细分可能会如此之大。 任务pipe理器显示VS消耗大约400-500 Mb(OM + VM)。 在编译期间,VS只需要加载元数据。 那么这个库中有很多类和接口,但是我仍然期望1-2 Mb的数量足以分配编译器用来查找所有公共类和接口的元数据 (尽pipe这只是我的build议,我不知道当CLR加载程序集元数据时究竟发生了什么)。 另外,我会说,整个程序集的大小是如此之大,只是因为它是C++ CLI库,有其他的Um托pipe库静态链接到一个DLL 。 我估计(使用Reflector).NET(托pipe)代码大约是此程序集的5-10%。 任何想法如何定义该错误的真正原因? […]
好奇人们在最终构build并提交给App Store之前学到了什么实践? 除了从debugging切换到发布&注释掉调用NSLog什么其他基本和/或不那么基本的东西,我们应该注意什么?
如何在代码后面设置Height="*"和Height="Auto" ?
我正试图在Windows上现有的C ++ CMake代码库中生成一个C#项目。 经过一番研究,我只能find两个为CMake构build自己的CSharp编译器的项目: gdcm和kde 。 我尝试了他们两个。 不幸的是,第一个未能生成一个C#项目。 相反,它创build了一个包含cs文件的VS C ++项目,并且由于为链接器设置了C ++标记,所以构build总是失败并出错。 在对他们提供的示例项目进行实验之后,我想知道这是否是由于“Visual Studio 8 2005”代码生成器的限制? 第二个项目主要针对莫诺,所以我也没有成功。 有没有人有积极的经验,build设使用这些CMake模块或其他东西之一的C#项目?
假设我想为我的集成testing创build和使用H2数据库。 Maven有一个运行testing的命令: mvn test 。 有没有办法告诉maven启动H2数据库服务器进行testing,并在完成时停止它? 我想像这个工作类似于我可以通过Maven命令( mvn tomcat:run ) mvn tomcat:run 。 对不起,如果这个问题是荒谬的,我仍然围绕着新的概念。
在学校里,我的一位教授创造了一个3D游戏(不只是一个引擎),所有的玩家都完全由AI控制,这是我们的任务,编程一个玩家的AI。 我们基本上提供了一个API来与游戏世界进行交互。 然后,我们的AI实现一起被投入到游戏中,我们看着我们的程序互相攻击。 这就像机器人足球 ,但虚拟,有很多大枪,没有足球。 我现在正在寻找类似的东西(和开源 )来玩。 (最好在Java中,但我对任何语言都是开放的。)我不是在寻找一个游戏引擎或框架…我正在寻找一个完全没有AI代码的游戏…最好设置对于这种运动。 build议?