问题列表 - 第21614页

如果我使用"throw"会发生什么?无异常抛出?

这是设置.

我有一个C++程序调用几个函数,所有这些函数都可能抛出相同的异常集,并且我希望每个函数中的异常具有相同的行为(例如,打印错误消息并将所有数据重置为exceptionA的默认值;只需打印对于exceptionB;干净地关闭所有其他异常).

似乎我应该能够设置catch行为来调用私有函数,它只是重新抛出错误,并执行捕获,如下所示:

void aFunction()
{
    try{ /* do some stuff that might throw */ }
    catch(...){handle();}
}

void bFunction()
{
    try{ /* do some stuff that might throw */ }
    catch(...){handle();}
}

void handle()
{
    try{throw;}
    catch(anException)
    {
        // common code for both aFunction and bFunction
        // involving the exception they threw
    }
    catch(anotherException)
    {
        // common code for both aFunction and bFunction
        // involving the exception they threw
    }
    catch(...)
    {
        // common code for both aFunction and …
Run Code Online (Sandbox Code Playgroud)

c++ refactoring exception

9
推荐指数
2
解决办法
7372
查看次数

在ruby脚本和正在运行的c ++程序之间进行通信

我有一个执行一个功能的c ++程序.它将一个大型数据文件加载到一个数组中,接收一个整数数组并在该数组中执行查找,返回一个整数.我目前正在调用程序,每个整数作为参数,如下所示:

$ ./myprogram 1 2 3 4 5 6 7
Run Code Online (Sandbox Code Playgroud)

我也有一个ruby脚本,我希望这个脚本能够利用c ++程序.目前,我这样做.

Ruby代码:

arguments = "1 2 3 4 5 6 7"
an_integer = %x{ ./myprogram #{arguemnts} }
puts "The program returned #{an_integer}" #=> The program returned 2283
Run Code Online (Sandbox Code Playgroud)

这一切都运行正常,但我的问题是每次ruby进行此调用时,c ++程序必须重新加载数据文件(超过100mb) - 非常慢,效率非常低.

如何重写我的c ++程序只加载一次文件,允许我通过ruby脚本进行多次查找,而不必每次都重新加载文件.使用套接字是一种明智的方法吗?将c ++程序编写为ruby扩展?

显然我不是一位经验丰富的c ++程序员,所以感谢你的帮助.

c++ ruby sockets call

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

我可以在具有AUTO_INCREMENT属性的列中使用零

我正在使用MySQL 5.0服务器.我的要求是在具有自动增量主键的现有表中添加一个特殊行.

如果我们能够将该行的id设为0(因为它易于记忆并且易于在手动观察中发现),这对于项目的未来维护和管理将非常有用.

现在,我知道MySQL对自动增量列使用自己的值没有问题,我的测试表明我可以使用UPDATE查询将行的自动增量主键设置为0.但是,已经提出了一些关于如何在将来的INSERT中影响列的自动递增功能的问题.

我的(有限的)实验表明没有什么奇怪的,我在MySQL文档中找不到任何针对此的具体警告.也就是说,除此之外(强调我的):http://dev.mysql.com/doc/refman/5.0/en/create-table.html

每个表只能有一个AUTO_INCREMENT列,必须将其编入索引,并且不能具有DEFAULT值.仅当AUTO_INCREMENT列仅包含正值时,它才能正常工作.插入负数被视为插入一个非常大的正数.这样做是为了避免数字从正到负"包裹"时的精度问题,并确保您不会意外地获得包含0的AUTO_INCREMENT列.

我无法找到AUTO_INCREMENT列中值为零的错误解释,所以有人可以告诉我,如果包含0的AUTO_INCREMENT列是坏事吗?

mysql auto-increment

5
推荐指数
1
解决办法
279
查看次数

Silverlight,DataPager,RIA服务和智能分页

我仍然试图通过Silverlight和RIA Services来实现我的目标,当然还要从一些更"有趣"的东西开始,比如网格和智能分页.我可以连接到RIA Services(使用自行开发的ORM,而不是L2S或EF),在网格上获取数据,并连接到DataPager.域服务与本土ORM一起运行良好,至少对于查询而言.(仍在使用完整的CRUD.)但是,仍然存在问题:

  1. 为了支持用户应用程序,除了智能分页(仅运行查询显示所需的行)和分组之外,我还需要用户控制的排序和过滤.

  2. 到目前为止,我在DataGrid或DataPager中没有看到任何外部化这些功能的内容,因此可以将过滤,排序和分页参数传递给服务器以构建适当的查询.

  3. 数据集可能非常大; 我选择用于原型制作工作的我的表可以在一些客户中拥有多达35,000个条目,我确信还有其他更大的表格,我将不得不在某个时候处理.因此,"智能寻呼"方面至关重要.

我们欢迎您的想法,建议,指导和nerf砖.

silverlight-3.0 datapager wcf-ria-services

13
推荐指数
1
解决办法
9169
查看次数

Scala Actors:JRE 1.5和1.6上的不同行为

我的模拟是使用actor和Scala 2.8-Snapshot.在Java JRE 1.5中它运行良好 - 所有40个齿轮(演员)同时工作.使用Java JRE 1.6只有3个齿轮同时工作.我使用和不使用GUI进行测试:两者都给出相同的结果.

我在GUI上的模拟可以在github上找到:http://github.com/pmeiclx/scala_gear_simulation

也许你还记得我与演员的第一个问题.在解决了这些问题后,我为模拟做了一个GUI,我得到了这种新的"奇怪"行为.

这是没有GUI的代码:

package ch.clx.actorversions

import actors.Actor
import actors.Actor._
import collection.mutable.ListBuffer

case class ReceivedSpeed(gear: Gear)
case object StartSync

case class SyncGear(controller: GearController, syncSpeed: Int)

object ActorVersion {

  def main(args:Array[String]) = {
    println("[App] start with creating gears")
    val gearList = new ListBuffer[Gear]()
    for (i <- 0 until 100) {
      gearList += new Gear(i)
    }

    val gearController = new GearController(gearList)

    gearController.start()
    gearController ! StartSync
  }
}

/**
 * CONTROLLER …
Run Code Online (Sandbox Code Playgroud)

java scala scala-2.8 actor

16
推荐指数
1
解决办法
897
查看次数

对于32位Windows可执行文件使用/ LARGEADDRESSAWARE的缺点是什么?

我们需要将其中一个可执行文件与此标志链接,因为它使用大量内存.
但为什么要给一个EXE文件特殊处理.为什么不标准化/ LARGEADDRESSAWARE?

所以问题是:即使你不需要它,使用/ LARGEADDRESSAWARE也有什么问题.为什么不将它用作所有EXE文件的标准?

memory windows memory-management virtual-address-space

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

类中声明类型声明的范围是什么?

如果在类中声明了新类型,例如:

class foo {
public :
   struct s1 {
        int a ;
   };
private :
  struct s2 {
        int b ;
  };
};
Run Code Online (Sandbox Code Playgroud)

那么在以下陈述的范围内可以使用:

s1 ss1;
s2 ss2;
Run Code Online (Sandbox Code Playgroud)

提前致谢.

c++

3
推荐指数
1
解决办法
449
查看次数

如何使用MPMusicPlayerController播放音乐?

任何人都可以建议我如何在我的应用程序中使用MPMusicPlayerController播放音乐.

任何人的帮助将非常感谢.

谢谢Monish.

iphone objective-c mpmusicplayercontroller

3
推荐指数
1
解决办法
5300
查看次数

如何在Vim中设置工作/当前目录?

因此,当我想使用:e命令创建一个新文件时,我不想指定整个路径,只需要指定新文件名.可以吗?

vim text-editor

101
推荐指数
4
解决办法
5万
查看次数

为什么要在运行安装程序之前关闭所有其他应用程序?

大多数Windows安装程序都建议您“在继续之前关闭所有其他应用程序”。我可以想象这在旧版本的Windows中可能是必需的。现在可能仅用于少量安装。但可以肯定,大多数安装都不需要它。是吗?

我现在正在为自己的(非常简单的)应用程序创建一个安装程序,我发现自己在想-正如我怀疑很多其他人在我之前一样-“它不会造成任何伤害,而且比遗憾更安全”。但是另一方面,我不想无故给人们带来不便。那有理由说吗?

windows installer windows-installer

5
推荐指数
1
解决办法
2547
查看次数