gpt4 book ai didi

c# - 使用 C# try/catch/finally 表现得像 if/else 的最佳方式是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 17:22:13 25 4
gpt4 key购买 nike

我正在尝试设置 try/catch/finally 使其表现得像 if/else。我不确定做这个简单的事情的最优雅的方法。

public bool login()
{
bool isLoggedIn = false;
if (connectToServer(Path,username,password) ) // if successful
{
isLoggedIn = true;
}
else
{

}

return isLoggedIn;
}

这是我尝试使用异常进行的操作。

public bool login()
{
bool isLoggedIn = false;

try{
connectToServer(Path,username,password)
isLoggedIn = true;
}
catch(myConnectionException ex)
{


}

return isLoggedIn;
}

尽管前一行在失败时引发异常,但第二行“isLoggedIn”将被执行。我的想法是问“如果抛出异常,我不希望执行该行。我可以(应该)在此时访问异常对象进行测试吗?(或者超出范围?)我是一个前 C 编码器,所以我试图“保持它 c#”来做一件简单的事情。我只是想完善我的技能并符合“最佳实践”。谢谢数据管理

最佳答案

不,它不会被执行。但是,这是一种不好的做法,因为处理异常需要进行代价高昂的上下文切换。您应该只在异常(exception) 情况下使用异常(exception)。

我会考虑结合这两种方法。

关于c# - 使用 C# try/catch/finally 表现得像 if/else 的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6865059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com