在C#中抛出异常后的程序流程

Cod*_*ats 3 c# exception-handling program-flow

嗨,我正在查看一些旧的c#代码并注意到很多这样的代码:

void SomeFunction()
{
    if (key.Length != Dimensions)
    {
        throw new KeySizeException();
    }
    else
    {
        SomeOtherFunction();
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一个甚至需要else块的情况?我可以安全地将代码缩短到此而没有任何影响吗?

void SomeFunction()
{
    if (key.Length != Dimensions)
    {
        throw new KeySizeException();
    }

    SomeOtherFunction();
}
Run Code Online (Sandbox Code Playgroud)

默认情况下,异常应该抛出这个方法的程序流吗?但我只是想知道在DotNet中是否有办法调整未处理的异常是如何处理的,这会导致第二个实现与第一个实现不同?

alw*_*ing 5

你不需要'else'块.这是多余的.如果你使用像"一个重构工具整形器 "或" JustCode "这样的冗余代码元素通常指出.