问题列表 - 第24514页

何时使用自定义例外与现有例外与一般例外

我正在试图弄清楚正在写的库的正确形式是什么.我需要处理的一个例子是将用户登录到工作站.他们通过扫描徽章来做到这一点.可能出错的可能包括:

  • 他们的徽章已停用
  • 他们没有在这个工作站工作的许可
  • 扫描的徽章在系统中不存在
  • 他们已经登录到其他地方
  • 数据库已关闭
  • 内部数据库错误(如果徽章没有正确设置,有时会发生)

使用此库的应用程序必须以这种或那种方式处理这些异常.他们可能决定只说"错误",或者他们可能想要给用户更多有用的信息.在这种情况下,最佳做法是什么?为每种可能性创建自定义异常?使用现有的例外?使用Exception并传入reason(throw new Exception("Badge is deactivated.");)?我认为它是前两种的混合,在适用的情况下使用现有的异常,并在需要时创建新的异常(并在有意义的地方对异常进行分组).

exception

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

如何在代码中同时交换或替换多个字符串?

给出以下代码示例:

uint8_t i, in, ni;
i = in = 2; ni = 1;
while (2 == i > ni) in++;
Run Code Online (Sandbox Code Playgroud)

如何i, in, and ni分别替换in, ni, and iinni, inin, and nini使用emacs,vi,*nix命令或其他任何内容?

c vi emacs bash refactoring

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

PHP令牌名称T_PAAMAYIM_NEKUDOTAYIM的含义是什么?

这个::有时令人难以置信的名字背后的故事是什么?

T_PAAMAYIM_NEKUDOTAYIM
Run Code Online (Sandbox Code Playgroud)

我主要是想知道是否

  1. 这是别的缩写.
  2. 这是一个非英语语言的短语,如果是这样,那么语言是什么,什么是粗略的翻译.
  3. 这是一些模糊的编程术语.
  4. 醉酒的开发者.

php history

20
推荐指数
1
解决办法
6405
查看次数

测量进程消耗的CPU时钟

我用C编写了一个程序.它是一个由研究创建的程序.我想计算程序消耗的精确CPU周期.确切的周期数.知道我怎么能找到它?

c cpu process cpu-cycles

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

将不可迭代的值传递给list.extend()

我正在创建一个公共方法,允许调用者将值写入设备,例如将其称为write_vals().

由于这些值将被实时输入,我希望通过允许他们键入列表或单个值来简化用户的生活,具体取决于他们需要写入多少值.例如:

write_to_device([1,2,3])
Run Code Online (Sandbox Code Playgroud)

要么

write_to_device(1)
Run Code Online (Sandbox Code Playgroud)

我的函数想使用一个平面列表,所以我试着聪明并编写这样的代码:

input_list = []  
input_list.extend( input_val )
Run Code Online (Sandbox Code Playgroud)

当用户输入列表时,这可以顺畅地工作,但是当用户输入单个整数时,它会失败:

TypeError:'int'对象不可迭代

使用list.append()会在传入列表时创建一个嵌套列表,这将是另一个扁平化的麻烦.

检查传入的对象的类型看起来很笨拙和非pythonic,并希望list.extend()接受非迭代让我无处可去.所以尝试了各种其他编码方法.

建议(仅限编码相关)将不胜感激.

python list

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

Delphi应用程序清单WinXP和Win7下的文件问题

我的最后一个问题"在Win-7下列出服务和服务状态"使我开始研究一种解决方案,该解决方案基于.manifest文件为我的应用程序提供Windows Vista以后的管理员权限.

我不确定继续上一个问题,因为它们不一样所以这是另一个问题:

我的应用程序现在在Win 7下工作正常,无论我是否因为清单文件而"以管理员身份"运行它.我的清单文件如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity version="1.6.0.5" processorArchitecture="X86" name="ServiceMonitorPro" type="win32"/>
  <description publisher="Powershield Ltd" product="Powershield Service Monitor">Powershield Service Monitor</description>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
   <security>
    <requestedPrivileges>
     <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
    </requestedPrivileges>
   </security>
  </trustInfo>
 </assembly>
Run Code Online (Sandbox Code Playgroud)

当应用程序在Windows 7或Vista上运行时,UAC会出现如下对话框: alt text http://www.freeimagehosting.net/uploads/39787fd3dd.jpg

如何替换"未知"发布者?

另一个也是最大的问题是,即使你的应用程序在Win7或Vista下运行没有问题,在WinXP下它现在崩溃的消息:"此应用程序无法启动,因为应用程序配置不正确.重新安装应用程序可能会修复此问题问题."

我要添加的另一件事:如果我向XPMan添加引用(使用子句),那么应用程序在WinXP上工作正常,但是我的.manifest文件在Vista或Win7下没有任何区别.

windows delphi privileges code-signing manifest

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

Windows Phone 7应用程序+ WCF + SSL +用户名身份验证

我用WCF开发了一个测试服务,我试图从Windows Phone 7应用程序中使用它,但是当从服务调用一个方法时,我得到了一个奇怪的例外:

https://server/Service.svc上没有可以接受该消息的端点 .这通常是由错误的地址或SOAP操作引起的.

WCF服务使用具有UserNameOverTransport身份验证和SSL的自定义绑定.对于授权,我使用UserNamePasswordValidator的实现.如果我尝试从控制台或silverlight应用程序使用该服务(启用跨域策略) - 它工作正常(授权).最奇怪的是,为WP7应用程序生成的ServiceReferences.ClientConfig文件与为silverlight应用程序生成的配置文件完全相同.

我不知道我的服务有什么问题......

authentication wcf windows-phone-7

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

为什么会崩溃?

我一直在敲我的脑袋......我不能假装成一个C++家伙......

    TCHAR * pszUserName = userName.GetBuffer();
SID sid;
SecureZeroMemory(&sid, sizeof(sid));
SID_NAME_USE sidNameUse;
DWORD cbSid = sizeof(sid);

pLog->Log(_T("Getting the SID for user [%s]"), 1, userName);

if (!LookupAccountName(NULL, (LPSTR)pszUserName, &sid, &cbSid, NULL, 0, &sidNameUse))
{
    pLog->Log(_T("Failed to look up user SID. Error code: %d"),1,  GetLastError());
    return _T("");
}

pLog->Log(_T("Converting binary SID to string SID"));
Run Code Online (Sandbox Code Playgroud)

消息"为用户[x]获取SID",但随后应用程序崩溃.我假设是LookupAccountName电话.

编辑:

Whoops userName是一个MFC CString

c++ winapi

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

LaTeX中没有挪威字符

我已经用LaTeX格式将文档从英语翻译成挪威语,并且在使用挪威语特殊字符时,我收到错误

\usepackage[utf8x]{inputenc}
Run Code Online (Sandbox Code Playgroud)

尝试以PostScript/PDF/DVI格式显示挪威语(斯堪的纳维亚语)特殊字符

 Package utf8x Error: MalformedUTF-8sequence.
Run Code Online (Sandbox Code Playgroud)

虽然这不起作用,但我尝试了另一种可能的解决方案:

\usepackage{ucs}
\usepackage[norsk]babel
Run Code Online (Sandbox Code Playgroud)

当我试图在Emacs中保存它时,我收到此消息:

These default coding systems were tried to encode text
in the buffer `lol.tex':
(utf-8-unix (905 . 4194277) (916 . 4194245) (945 . 4194278) (950
. 4194277) (954 . 4194296) (990 . 4194277) (1010 . 4194277) (1013
. 4194278) (1051 . 4194277) (1078 . 4194296) (1105 . 4194296))
However, each of them encountered characters it couldn't encode:
utf-8-unix cannot encode these: \345 \305 \346 \345 \370 \345 \345 \346 \345 …
Run Code Online (Sandbox Code Playgroud)

latex document internationalization texinfo

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

Python TEA实现

有谁知道TEA(微小加密算法)的正确python实现?我尝试了我在这里找到的那​​个:http://sysadminco.com/code/python-tea/ - 但它似乎无法正常工作.

它返回的结果与C或Java中的其他实现不同.我猜这是由python中完全不同的数据类型引起的(实际上没有数据类型).

这是代码和示例:

def encipher(v, k):
    y=v[0];z=v[1];sum=0;delta=0x9E3779B9;n=32
    w=[0,0]
    while(n>0):
        y += (z << 4 ^ z >> 5) + z ^ sum + k[sum & 3]
        y &= 4294967295L # maxsize of 32-bit integer
        sum += delta
        z += (y << 4 ^ y >> 5) + y ^ sum + k[sum>>11 & 3]
        z &= 4294967295L
        n -= 1

    w[0]=y; w[1]=z
    return w

def decipher(v, k):
    y=v[0]
    z=v[1]
    sum=0xC6EF3720
    delta=0x9E3779B9
    n=32
    w=[0,0]
    # sum …
Run Code Online (Sandbox Code Playgroud)

c python encryption

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