C# winform程序 如何终止一个方法的执行 并返回主界面

2024-11-27 00:34:12
推荐回答(5个)
回答1:

如果你的异常处理添加在A1()中,那么异常处理之后仅仅返回到A1()的上层调用函数,也就是A()中。
由于A1()已经处理了异常,所以对于A()这一层而言,并没有异常发生,所以程序会继续,从而A2和A3将继续被执行。
如果你想中止A2和A3,那么你的异常处理必须写在调用它们的函数,也就是A()中。

回答2:

你应该将A1的异常抛出,然后让A来处理,例如:
public static void A()
{
try
{
A1();
A2();
}
catch (System.Exception e)
{
Console.WriteLine("A handle the exception!");
return;
}

}

public static void A1()
{
int i = 0;
int y = 1;
int z = 0;
try
{
z = y / i;
}
catch (System.Exception e)
{
throw e;
}

}

public static void A2()
{
Console.WriteLine("Here is method A2!");
}

另外你还可以在A1中抛出自己“描述”的异常,这样就可以在A中根据异常的Message属性来判断到底是A抛出的异常或者是其他地方抛出的异常:
public static void A1()
{
int i = 0;
int y = 1;
int z = 0;
try
{
z = y / i;
}
catch (System.Exception e)
{
throw new System.Exception("Divisor can't be zero!");
}

}

回答3:

首先呢可以这样
把A方法中的捕获异常删除
然后调用的时候
try
{
A();
B();
C();
}
catch
{
捕获异常
}

回答4:

try
{
A1();
A2();
A3();
}
catch(exception ex)
{
messagebox.show("请检查输入!");
return ;
}

回答5:

采用子线程,在主线程中实现