问题列表 - 第43476页

什么"只捕捉你可以处理的例外"真的意味着什么?

我的任务是编写一个我正在研究的.NET/C#项目的异常处理策略和指南文档.我很难接受它.有很多关于如何/何时抛出,捕获,包装异常的信息,但我正在寻找描述catch块内部应该进行哪些事情,而不是包装和抛出异常.

try
{
   DoSomethingNotNice();
}
catch (ExceptionICanHandle ex)
{
   //Looking for examples of what people are doing in catch blocks
   //other than throw or wrapping the exception, and throwing.
}
Run Code Online (Sandbox Code Playgroud)

提前致谢

c# exception-handling

12
推荐指数
1
解决办法
2714
查看次数

在Windows上进行Ruby on Rails开发

我一直在计划在Windows上开发一个rails项目.我听说框架没有在windows上测试过(至少不是测试框架)

有没有人对Windows上的rails有任何实际经验?在Windows上运行时是否有任何已知的错误?测试框架是否适用于Windows?

ruby windows ruby-on-rails

17
推荐指数
2
解决办法
6887
查看次数

SQL触发器从数据库中删除行

我有一个工业系统,可以将报警记录到远程托管的MySQL数据库.只要警报的属性发生变化(例如,警报被激活,确认或关闭的时间),工业系统就会在名为"警报"的表格中插入新行.

我不希望每个警报有多个记录,所以我设置了两个数据库触发器.第一个触发器将每个新记录镜像到第二个表,根据需要创建/更新行.第二个表('alarm_display')将'Tag'列设置为主键.'alarm'表没有主键.此触发器的代码是:

CREATE TRIGGER `mirror_alarms` BEFORE INSERT ON `alarms`
  FOR EACH ROW 
    INSERT INTO `alarm_display` (Tag,...,OffTime) 
    VALUES (new.Tag,...,new.OffTime) 
    ON DUPLICATE KEY UPDATE OnDate=new.OnDate,...,OffTime=new.OffTime
Run Code Online (Sandbox Code Playgroud)

第二个触发器应在第一个触发器之后执行,并且(理想情况下)从警报表中删除所有行.(我使用了警报的Tag属性,因为Tag属性永远不会改变,虽然我怀疑我可以使用'DELETE FROM alarms WHERE 1'语句来达到相同的效果).

CREATE TRIGGER `remove_alarms` AFTER INSERT ON `alarms`
  FOR EACH ROW DELETE FROM alarms WHERE Tag=new.Tag
Run Code Online (Sandbox Code Playgroud)

我的问题是第二个触发器似乎没有运行,或者如果它运行,第二个触发器不会从数据库中删除任何行.

所以这就是问题:为什么我的第二次触发不能达到我的预期呢?

mysql triggers

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

如何使这款REGEX清洁?

我有这个正则表达式,我将OS名称与VMX文件中的一行进行比较.它最初是作为单独的elsif声明开始的,但最终我制作了一个单一的if声明.无论如何,这是代码; 我试图找到一种方法来使代码更清洁,但它将每个匹配放在一个单独的行上; 它不再有效.

elsif ($vmx_file =~ m/guestOSAltName\s+=\s"Microsoft\sWindows\sServer\s2003,Web\sEdition"|"Microsoft\sWindows\sSmall\sBusiness\sServer\s2003"|"Microsoft\sWindows\s2000\sAdvanced\sServer"|"Microsoft\sWindows\s2000\sServer"|"Microsoft\sWindows\s2000\sProfessional"|"Microsoft\sWindows\s98"|"Microsoft\sWindows\s95"|"Microsoft\sWindows\sNT\s4"/) {
            $virtual_machines{$vm}{"Architecture"} = "32-bit";
Run Code Online (Sandbox Code Playgroud)

根据建议更新了代码,

elsif ($vmx_file =~ m/guestOSAltName\s+=\s"Microsoft\sWindows\sServer\s2003,Web\sEdition|Small\sBusiness\sServer\s2003|"2000\sAdvanced\sServer|2000\sServer|2000\sProfessional|98|95|NT\s4/) {
            $virtual_machines{$vm}{"Architecture"} = "32-bit";
Run Code Online (Sandbox Code Playgroud)

regex perl

0
推荐指数
2
解决办法
154
查看次数

在远程环境中运行grails的问题

我有一个"命名"的服务器,它似乎导致Grails无法找到localhost.

Running Grails application..
2011-01-12 20:45:14,046 [main] ERROR ehcache.Cache  - Unable to set localhost. This prevents creation of a GUID. Cause was: zaftra: zaftra
java.net.UnknownHostException: zaftra: zaftra
    at java.net.InetAddress.getLocalHost(InetAddress.java:1426)
    at net.sf.ehcache.Cache.<clinit>(Cache.java:143)
    at net.sf.ehcache.config.ConfigurationHelper.createCache(ConfigurationHelper.java:463)
    at net.sf.ehcache.config.ConfigurationHelper.createDefaultCache(ConfigurationHelper.java:369)
    at net.sf.ehcache.CacheManager.configure(CacheManager.java:445)
    at net.sf.ehcache.CacheManager.init(CacheManager.java:302)
    at net.sf.ehcache.CacheManager.<init>(CacheManager.java:260)
    at net.sf.ehcache.hibernate.EhCacheProvider.start(EhCacheProvider.java:128)
Run Code Online (Sandbox Code Playgroud)

内容/etc/hosts(如图所示):

127.0.0.1       localhost localhost.localdomain zaftra
::1       localhost localhost.localdomain zaftra
Run Code Online (Sandbox Code Playgroud)

java grails exception localhost

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

联盟中的boost :: optional <>?

我有一个可选的POD结构,它将包含在一个union中.
boost::optional<>按价值保持其类型,所以我认为这可行:

union helper
{
    int foo;
    struct 
    {
        char basic_info;
        struct details {
            //...
        };

        boost::optional<details> extended_info;
    } bar;
    //  ...
};

helper x = make_bar();

if( x.bar.extended_info )
{
    // use x.bar.extended_info->elements
}
Run Code Online (Sandbox Code Playgroud)

但VS2008抱怨我的barstruct现在有一个复制构造函数,因为该boost::optional<details>元素.

作为替代,我添加了一个布尔标志来指示可选参数是否有效,但是它很笨重:

union helper
{
    int foo;
    struct 
    {
        char basic;
        struct details {
            bool valid;
            //...
        } extended;
    } bar;
    //  ...
};
Run Code Online (Sandbox Code Playgroud)

我考虑过实现details::operator bool()返回details::valid变量,但这是模糊不清的,也是对人类的伤害.
boost::optional<>清楚地记录语法和意图,不需要侦探工作.

最后,helperunion需要是POD,所以我不能做任何动态分配 - 否则我会使用指针.

对于在语法上与 …

c++ boost optional-variables

5
推荐指数
2
解决办法
994
查看次数

使用distcc在Ubuntu上的i686系统上交叉编译x86_64

我正在尝试使用distcc在家中设置一个小型构建集群.有两个x64系统和一个i686系统.所有系统都运行Ubuntu 10.10并且是最新的.启动构建的系统是x64.Distcc在两个x64系统之间工作正常,但发送到i686系统的所有构建任务都失败了.

至今:

  • 我在该系统上安装了g ++的multilib包.我可以使用在本地交叉编译到x64g++ -m64
  • 更改了链接/usr/lib/distcc/g++以指向明确设置-m64参数的脚本.

有什么建议?

c++ linux 32bit-64bit ubuntu-10.10 distcc

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

循环遍历表单中的所有文本框,包括组框内的文本框

我在winform中有几个文本框,其中一些在groupbox中.我试图遍历我的表单中的所有文本框:

For Each c As Control In Me.Controls
    If c.GetType Is GetType(TextBox) Then
        ' Do something
    End If
Next
Run Code Online (Sandbox Code Playgroud)

但它似乎跳过了groupbox中的那些并且仅循环到表单的其他文本框.所以我为groupbox文本框添加了另一个For Each循环:

For Each c As Control In GroupBox1.Controls
    If c.GetType Is GetType(TextBox) Then
        ' Do something
    End If
Next
Run Code Online (Sandbox Code Playgroud)

我想知道:有没有办法循环遍历表单中的所有文本框 - 包括组框内的文本框 - 只有一个For Each循环?或者更好/更优雅的方式来做到这一点?

提前致谢.

vb.net winforms

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

C++中的高性能XML解析

关于在C++中解析XML等问题已经提出了很多问题......但是,我的问题非常具体,而不是一般问题.

我要求一个非常有效的C++ XML解析器.特别是我有一个非常非常大的XML文件来解析.我的应用程序必须打开此文件并检索数据.它还必须插入新节点并再次将最终结果保存在文件中.

为了做到这一点,我在开始时使用了rapidxml,但它要求我打开文件,解析所有内容(所有内容因为这个lib没有直接访问文件的功能而不先加载整个树),然后编辑树,修改它并通过覆盖它将最终树存储在文件上...它消耗了太多的资源.

是否有一个XML解析器,不需要我加载整个文件,但我可以用来快速插入新节点和检索数据?你能指出我这个问题的解决方案吗?

c++ xml parsing

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

获取DataMapper模型属性

有没有办法使用DataMapper获取模型的属性?例如:

require 'rubygems'
require 'datamapper'

class User
  include DataMapper::Resource

  property :id, Serial
  property :name, String
end
Run Code Online (Sandbox Code Playgroud)

我可以获取User数组或哈希的属性吗?

ruby datamapper

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