C#广泛的异常处理

时间:2017-08-16 21:52:11

标签: c# .net exception-handling try-catch

背景

我正在开发在更大的执行程序中运行的软件,我只能使用其API进行通信。经过广泛的测试,我已经确定执行中存在一个关于如何处理异常的架构问题。

执行程序以弹出对话框的形式进行自己的异常处理,为用户提供有关异常的信息。根据程序的行为,我怀疑它类似于:

// Executive Program
try {
    // A simple state machine controlling execution mode within the Executive Program
    // Not actually certain a switch is used, but this is representative of behavior
    switch(executiveStateMachine){
        case setUp:
            // [....]
            break;
        case starting:
            // [....]
            break;
        case run:
            while(true){
                // [...]
                // My software running inside executive program
                // [...]
                // Eventual break after successful completion
                break;
            }
            break;
        case finish:
            // [....]
            break;
    }
}
    catch(Exception except){
        // On any, show a proprietary exception dialog
        if(ExceptionDialog.ShowDialog(Exception) == DialogResult.OK) break;
    }

处理异常时,执行程序似乎偶尔会在其状态机转换中产生致命错误,从而导致整个程序崩溃。

虽然我已经向Executive的开发人员提交了一个错误请求,但我认为它不会很快修复,并且我真的想自己处理我自己软件的例外和执行程序的例外情况。

问题; (TLDR)

在更大的封装(和看不见的)try-catch块之前,C#是否可以使用某种方法捕获异常?

0 个答案:

没有答案