当前位置: 首页 > 知识库问答 >
问题:

C#异常处理程序下一步继续

仲鸿风
2023-03-14

我一直在研究如何改变c#方法执行的行为,特别是当出现异常以支持:

重试/继续:能够再次尝试同一语句并在成功后继续跳过/继续:移动到下一个语句并继续执行

我读过很多回复,说这是糟糕的编码实践,但这是针对代码转换器的,它从支持此功能的语言转换数百万行代码。我需要在功能上保持一致。

共有1个答案

闾丘山
2023-03-14

你唯一的选择可能是采用这样一种(坦率地说是可怕的)风格:

var done = false;
while (!done) { try { line1(); done = true; } catch {} }
done = false;
while (!done) { try { line2(); done = true; } catch {} }
// etc

混有:

try { line1(); } catch {}
try { line2(); } catch {}
// etc

请放心,拥有数百万条这样的线路将使它的余生很难维护,也很烦人。

 类似资料:
  • 主要内容:try/catch语句,C#中的异常类,自定义异常类,抛出异常在 C# 中,异常是在程序运行出错时引发的,例如以一个数字除以零,所有异常都派生自 System.Exception 类。异常处理则是处理运行时错误的过程,使用异常处理可以使程序在发生错误时保持正常运行。 C# 中的异常处理基于四个关键字构建,分别是 try、catch、finally 和 throw。 try:try 语句块中通常用来存放容易出现异常的代码,其后面紧跟一个或多个 catch 语句

  • 异常是程序在执行期间产生的问题。C++ 异常是指在程序运行时发生的特殊情况,比如尝试除以零的操作。 异常提供了一种转移程序控制权的方式。C++ 异常处理涉及到三个关键字:try、catch、throw。 throw: 当问题出现时,程序会抛出一个异常。这是通过使用 throw 关键字来完成的。 catch: 在您想要处理问题的地方,通过异常处理程序捕获异常。catch 关键字用于捕获异常。 try

  • 1.1 异常处理的基本使用 try: <语句块1> except: <语句块2> try 捕获异常 except 发生异常时执行 try: <语句块1> except <异常类型名字>: <语句块2> except <异常类型名字> 发生对应异常时才会执行 1.2 异常处理的高级使用 try: <语句块1> except

  • 我的完成处理程序有问题。下面是一个带有完成处理程序的函数,位于一个实用程序文件中: 我在视图控制器中调用它 输出清楚地表明该函数在运行该块之前没有等待完成: 我如何解决这个问题?

  • 线程中使用 java.lang.Runnable 如果用户在代码中通过 java.lang.Runnable 新启动了线程或者采用了线程池去异步地处理一些业务,那么需要将 SOFATracer 日志上下文从父线程传递到子线程中去,SOFATracer 提供的 com.alipay.common.tracer.core.async.SofaTracerRunnable 默认完成了此操作,大家可以按照

  • 问题内容: 什么是处理这种情况的最佳方法。我处于受控环境中,所以我不想崩溃。 从setTimeout内抛出时,我们将始终获得: 如果抛出发生在setTimeout之前,那么bluebirds catch将捕获它: 结果是: 很棒-但是如何在节点或浏览器中处理这种性质的恶意异步回调。 问题答案: 承诺不是域,它们不会捕获异步回调中的异常。你就是做不到。 然而诺言来捕捉从内抛出的异常/ / 构造函数的