除非我确定不会有任何错误,否则我总是会因为从不采取行动来防止异常情况.我学会了用C编程,这是真正做事的唯一方法.
使用C#我经常看到更多的被动编程 - 尝试做某事并处理异常.对我来说,这似乎是使用异常作为控制语句.我最初看到这几次,我认为这是不好的做法.但是在过去的几个月里,我已经看到了这一切,只是不得不怀疑 - 这是接受/有效还是只是流行病?
更新:为了澄清一点,我看到的大多数异常处理都是这样的
try
{
//open file
}
catch
{
//message box for file not found
}
Run Code Online (Sandbox Code Playgroud)
甚至更糟
try
{
//open xml
//modify xml (100+ lines of code)
}
catch
{
//message for 'unspecified error'
}
Run Code Online (Sandbox Code Playgroud)
我知道有时候异常处理非常好用(例如数据库连接),但我指的是使用异常来代替更"传统"的控制.我之所以问这个是因为我觉得这种编程风格使用异常作为拐杖而不是恢复方法,并且想知道这是否是我在C#世界中必须学会期待的东西.
我编写了一些代码来检查用户是否以管理员身份登录,以限制谁可以更改其他用户的权限,但if标记永远不会成立.我已经通过回应它确保了正确的数据,但到目前为止我找到的任何东西都没有给我一个解决方案.
<g:if test="${session.userPermissions == 'Administrator'}">
<g:select id="permissions" name="permissions" from="${userInstance.constraints.permissions.inList}" value="${userInstance.permissions}" ></g:select>
</g:if>
<g:else>
${userInstance.permissions}
</g:else>
Run Code Online (Sandbox Code Playgroud)