我应该在try中放入多个语句然后捕获所有可能的异常,还是应该只在try语句中放入一个语句?
例:
try {
MaybeThrowIOException();
MaybeThrowFooBarException();
return true;
} catch (IOException e) {
// ...
} catch (FooBarException e) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
要么
try {
MaybeThrowIOException();
} catch (IOException e) {
// ...
}
try {
MaybeThrowFooBarException();
} catch (FooBarException e) {
// ...
}
return true;
Run Code Online (Sandbox Code Playgroud) 我在Visual Studio中使用T4模板进行代码生成,并尝试从模板代码中引用本地.xml文件,以便我可以解析它以获取有关应用程序数据模型的元数据.
当模板代码(在编译时运行或在模板上运行"执行自定义工具")尝试通过Environment.CurrentDirectory获取当前路径时,我得到:
c:\ Program Files(x86)\ Microsoft Visual Studio 9.0\Common7\IDE
我真的试图在项目中找到模板本身的路径,这样我就可以使用相对路径来查找驱动它的.xml文件.有任何想法吗?
我想创建一个这样的Principal:
PrincipalContext pc = new PrincipalContext(ContextType.Machine);
GroupPrincipal group = new GroupPrincipal(pc);
group.Name = "Some Group Name";
group.Description = "Some Group Name Description";
group.Save();
Run Code Online (Sandbox Code Playgroud)
但是,当代码执行时,我收到以下异常消息:
System.DirectoryServices.AccountManagement:属性对此商店类型无效.
如果我没有设置Description属性,上面的代码完全正常,只是没有组的描述.
难道我做错了什么?
提前致谢.
编辑: 我相信我找到了一个解决方案(对于任何可能感兴趣的人).可以使用与上面相同的方式创建组:
PrincipalContext pc = new PrincipalContext(ContextType.Machine);
GroupPrincipal group = new GroupPrincipal(pc);
group.Save();
Run Code Online (Sandbox Code Playgroud)
现在您创建一个DirectoryEntry并将其链接到新创建的组,如下所示:
string path = "WinNT://" + machineName + "/" + group.SamAccountName;
DirectoryEntry dEntry = new DirectoryEntry(path);
Run Code Online (Sandbox Code Playgroud)
这允许访问该组的属性,但我感兴趣的是描述,所以:
dEntry.Properties["description"].Add("Some Decription");
dEntry.CommitChanges();
Run Code Online (Sandbox Code Playgroud)
这应该做到这一点.
我在新的GIL上阅读这个页面找到/可以在Python 3.2中找到它,我想知道它是否是"杀手级功能"将触发从Python 2.x到3.x的转换.
你们有什么感想?
我试图简单地将UTF-8编码的数据输出到控制台.
我已经设法完成了这个String,但现在我想做同样的事情ByteString.有一个很好的快速方法吗?
这是我到目前为止所做的,它不起作用:
import Prelude hiding (putStr)
import Data.ByteString.Char8 (putStr, pack)
main :: IO ()
main = putStr $ pack "?ušpajž???"
Run Code Online (Sandbox Code Playgroud)
打印出来uapaj~?,?,呃.
我想要获得最新的GHC 6.12.1的答案,尽管我也希望听到以前版本的答案.
谢谢!
更新:简单地读取和输出相同的UTF-8编码的文本行似乎正常工作.(使用Data.ByteString.Char8,我只是做一个putStr =<< getLine.)但是.hs文件中的打包值,如上例所示,拒绝正确输出...我一定做错了什么?
我有一个rails应用程序,从一些Java服务加载大量数据.我正在编写一个模块,允许我使用这些数据填充一些选择框,我正在尝试正确包含这些,以便我可以在我的视图中引用它们.这是我的模块
module FilterOptions
module Select
def some_select
return "some information"
end
end
end
Run Code Online (Sandbox Code Playgroud)
我的想法是在我的application_helper中包含FilterOptions,然后我想我可以使用Select::some_select它来引用我的方法.事实并非如此.我必须include FilterOptions::Select然后我可以some_select自己引用该方法.我不希望这样,但我认为对于那些可能不知道some_select来自我自己的模块的人来说有点混乱.
那么,我如何编写类似公共静态方法的模块方法,这样我就可以包含我的主模块,并使用子模块命名空间引用我的方法 Select::some_select
我正在编写一个C#类库,它将用作VB6应用程序和WCF服务之间的代理.
一些WCF服务方法使用Decimal数据类型作为参数,我无法直接在我提供给VB6应用程序的接口中复制,因为这是一种不受支持的类型.
如何在COM接口中实现它并将其安全地转换为WCF接口所期望的Decimal类型?
是否有适用于Windows的官方iPhone SDK?我以为没有,但是一位正在工作的同事说他从苹果公司下载了一个.
我们哪一个错了?我以为Apple没有发布它的windows开发工具.或者只是非苹果电脑上的Windows?
我的公司代码位于一个subversion存储库中,到目前为止它运行良好.我遵循了如何设置存储库的建议,即我有分支/标签/中继子目录.但我现在想要更有条理,并有2个元分支,开发和发布.前者显然是出于开发目的,工程师可以尝试不同的奇怪事物,而后者则是针对产品就绪的稳定代码.所有新功能在开发时将首先存在于"dev"中,一旦被认为可以,它们将偶尔合并到"发布"分支上.承诺"发布"只会来自这种合并加上正常的bug.这些元分支中的每一个都包含普通的分支/标签/中继子目录.
我遇到的问题是我无法为我的生活做好准备.我创建了2个元分支,将所有现有的子目录移动到"dev",我现在想将"dev"的主干移动到"release"主干.但我无法想象如何.如果我切换(来自TortoiseSVN),它只是删除所有内容,因为"释放"中继是空的.如果我尝试从'dev/trunk'创建一个分支'release/trunk',tortoisesvn会抱怨该路径不存在.
我无法弄清楚该怎么做.这应该是简单的不应该吗?我猜很多人会使用类似的组织,开发与发布?!
欢迎任何建议/意见/想法.
提前致谢.
一个