问题列表 - 第5691页

c ++中的函数范围的异常处理 - 这是一种糟糕的风格吗?

关于函数有一个try-catch的东西,我认为有时可能非常有用:

bool function() 
try
{
    //do something
}
catch(exception_type & t)
{
   //do something
}
Run Code Online (Sandbox Code Playgroud)

所以问题的第一部分:这种风格在一般情况下是否被认为是不好的?

我使用这种方法的具体例子:

我们在c和c ++中有很多代码的项目.我们有自定义异常类型(不是std :: exception派生的).我需要集成XML库并将所有异常强制转换为我们的类型.所以,基本上,最后一步是从XML库中捕获所有异常并转换它们.

功能之前:

bool readEntity(...)
{
   while(...)
   { 
      if(...)
      {
         //lot's of code...
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

后:

bool readEntity(...)
try
{
   while(...)
   { 
      if(...)
      {
         //lot's of code...
      }
   }
}
catch(XMLBaseException & ex)
{
    //create our exception and throw
}
Run Code Online (Sandbox Code Playgroud)

我的想法是这样的:我明确表示我的意图将从一种类型派生的所有异常转换为自定义类型并且我们保持我们的屏幕没有水平滚动条(因为水平滚动条是坏的).

好吧,在代码审查期间,我对这种方法的批评非常明确.

所以我想听听你的想法.

更新:要明确:重构函数不是一个选项.实际上它写得很好.

c++ coding-style exception

6
推荐指数
1
解决办法
1207
查看次数

Rails:使用Paperclip,S3和RMagick进行图像裁剪

我目前正在尝试编写类似于互联网上其他类似的自定义图像裁剪系统,用户可以选择裁剪区域,然后相应地裁剪图像.该应用程序位于Rails中,我们将Paperclip与Amazon S3一起使用来存储文件.虽然让RMagick从S3适当裁剪文件,但我遇到了很多麻烦.这是当前代码(不起作用):

   if params[:width].to_i > 0 and params[:height].to_i > 0 then
      photo = Photo.find(params[:id])
      image_data = Net::HTTP.get_response(URI.parse(photo.photo.url(:big))).body
      orig_img = Magick::ImageList.new
      orig_img.from_blob(image_data)

      args = [params[:x1].to_i, params[:y1].to_i, params[:width].to_i, params[:height].to_i]
      orig_img.crop!(*args)
      photo.update_attributes({:photo => orig_img.to_blob})

      photo.photo.reprocess!
      photo.save
    end
Run Code Online (Sandbox Code Playgroud)

主要问题是裁剪后的图像没有通过回形针上传回S3,因此没有正确裁剪.之前有没有人用回形针尝试这样的东西?这可能是不可能的,但任何帮助将不胜感激.

ruby ruby-on-rails amazon-s3 paperclip

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

使用枚举作为状态返回C#中的状态指示符

只是想知道关于从指示状态的方法返回枚举的一般共识是什么.返回码(整数)的概念是在旧校园系统编程(C)天生漂亮,但如果用于指示状态的方法已经改变了我想知道.

谢谢

编辑:我知道枚举基本上是int值.我询问(是其中枚举或整数),表示完全状态的方法有左右开始状态代码投掷纯粹的做法.这似乎是一个很好的做法,但我想知道这个想法是否有任何负面情绪.

我总是会选择枚举而不是int返回状态代码.

c# enums design-patterns

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

如何测试不是模型或控制器的代码

我有一个文件中定义我的Rails项目的类lib目录,将实施一批实用功能类方法.我想编写使用测试::单位对这些方法的测试,并让它们运行作为该项目的定期检测程序的一部分.

我试着在testdir 的顶层粘贴一个文件...

require 'test_helper'

class UtilsTest < ActiveSupport::TestCase
  should 'be true' do
    assert false
  end
end
Run Code Online (Sandbox Code Playgroud)

......但那没用.测试没有运行.

测试代码的正常方法是什么,而不是Rails的常规部分之一?

ruby testing unit-testing ruby-on-rails

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

如何隐藏Dock图标

我想隐藏Dock图标并显示一个NSStatusItem.我可以创建StatusItem但我不知道如何从Dock中删除图标.: - /

有任何想法吗?

macos cocoa icons dock lsuielement

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

如何创建指针数组?

我正在尝试创建一个指针数组.这些指针将指向我创建的Student对象.我该怎么做?我现在拥有的是:

Student * db = new Student[5];
Run Code Online (Sandbox Code Playgroud)

但是该数组中的每个元素都是学生对象,而不是指向学生对象的指针.谢谢.

c++ arrays pointers

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

为什么在酸洗之后我会在Python中出现意外行为?

暂时不管使用isinstance是否有害,在尝试通过Pickle序列化/反序列化对象后尝试评估isinstance时,我遇到了以下难题:

from __future__ import with_statement
import pickle

# Simple class definition
class myclass(object):
    def __init__(self, data):
        self.data = data

# Create an instance of the class
x = myclass(100)

# Pickle the instance to a file
with open("c:\\pickletest.dat", "wb") as f:
    pickle.dump(x, f)

# Replace class with exact same definition
class myclass(object):
    def __init__(self, data):
        self.data = data

# Read an object from the pickled file
with open("c:\\pickletest.dat", "rb") as f:
    x2 = pickle.load(f)

# The class names …
Run Code Online (Sandbox Code Playgroud)

python pickle

7
推荐指数
2
解决办法
1466
查看次数

如何在Java中创建平铺地图?

所以我有一个tile image tile.png,我正试图在整个窗口创建一个平铺的地图.我正在将其构建为applet.这是我的绘画方法看起来像,但它没有效果.当我运行小程序时,它需要大约2秒钟,整个屏幕从左到右绘制图像,而不是一次渲染.此外,它看起来像一个大的tile.png而不是tile.png的40个小实例

public void paint(Graphics g)
{
    Image tile=getImg("tile.png");
    int width=this.getWidth();
    int height=this.getHeight();

    int x;
    int y;
    for (x=0; x<= width; x++)
    {
        for (y=0; y<= height; y++)
        {
            g.drawImage(tile, x, y, this);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

顺便说一下,tile.png文件是10 x 10像素,这是实际的img:

tile.png http://img12.imageshack.us/img12/1368/tile.png

编辑:使用下面的代码并通过改进平铺图像我修复了这个.这是我的新瓷砖img,以防它帮助某人:

tile-new.png http://i44.tinypic.com/11ufejk.png

java maps 2d

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

注册DLL有什么作用?

我知道如何注册dll但是我从来没有真正确定我为什么要这样做,或者在什么条件下必须注册dll.有人可以向我解释或指出一些文件吗?

windows com dll

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

分布式系统中的故障转移有哪些算法?

我打算使用无共享架构多版本并发控制来创建分布式数据库系统.冗余将通过异步复制实现(只要系统中的数据保持一致,就可以在发生故障时丢失一些最近的更改).对于每个数据库条目,一个节点具有主副本(仅该节点具有对其的写访问权),此外,一个或多个节点具有该条目的辅助副本以用于可伸缩性和冗余目的(辅助副本是只读的) .更新条目的主副本时,它会加上时间戳并异步发送到具有辅助副本的节点,以便最终获得最新版本的条目.具有主副本的节点可以随时更改 - 如果另一个节点需要写入该条目,它将请求主副本的当前所有者为该节点提供该条目的主副本的所有权,

最近我一直在考虑当集群中的节点发生故障时该怎么做,以及用于故障转移的策略.这是一些问题.我希望你能知道至少其中一些的可用替代品.

  • 在分布式系统中进行故障转移有哪些算法?
  • 在分布式系统中有哪些算法可以达成共识?
  • 群集中的节点应如何确定节点已关闭?
  • 如何在发生故障时节点确定哪些数据库条目在故障节点上具有主副本,以便其他节点可以恢复这些条目?
  • 如何确定哪个节点具有某些条目的最新辅助副本?
  • 如何确定应将哪个节点的辅助副本提升为新的主副本?
  • 怎么处理它,如果那个虽然要关闭的节点突然回来,好像什么也没发生?
  • 如何避免裂脑情况,网络暂时分成两部分,双方都认为对方已经死亡?

database algorithm failover distributed cluster-computing

19
推荐指数
3
解决办法
4238
查看次数