程序运行过程中,如何在中断执行?

wangliangpeng 2014-01-13 11:20:10
例:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)
{
Func_1();
Func_2();
Func_3();
}

private void Func_1()
{
MessageBox.Show("1");
}

private void Func_2()
{
MessageBox.Show("2");
//return;
}

private void Func_3()
{
MessageBox.Show("3");
}
}
}


===================================================
想在执行FUNC_2函数时就中断执行,也就是不执行函数FUNC_3
但是不想通过判断if(FUNC_2())返回状态的方式来实现 请问有其他办法么?(就好比发生了异常 这样button1_Click就执行到FUNC_2就不接着往下执行了)
...全文
585 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
dreamofchina 2014-01-14
  • 打赏
  • 举报
回复
不行就用goto,你想去哪去哪!!
卧_槽 2014-01-14
  • 打赏
  • 举报
回复
private void button1_Click(object sender, EventArgs e) { Func_1(); Func_2(); } 就可以了。
mmqw 2014-01-14
  • 打赏
  • 举报
回复
引用 13 楼 u013161976 的回复:
[quote=引用 11 楼 mmqw1122 的回复:] 那你在 fun2 中直接return不就行了
return 不行 你试下就知道了[/quote]你在哪个位置放的return?
雨生双木 2014-01-14
  • 打赏
  • 举报
回复
在func_2里面定义一个事件执行func_3函数,执行完了直接返回
wangliangpeng 2014-01-14
  • 打赏
  • 举报
回复
这个问题的理解就好比func_2里面判断是否有权限 如果没权限就直接就此停住不继续执行func_3
wangliangpeng 2014-01-14
  • 打赏
  • 举报
回复
引用 12 楼 wpfLove 的回复:
不行执行,第三个函数,直接注释掉不也行吗?
.....直接注释...那我问这个问题就毫无意义了
wangliangpeng 2014-01-14
  • 打赏
  • 举报
回复
引用 11 楼 mmqw1122 的回复:
那你在 fun2 中直接return不就行了
return 不行 你试下就知道了
本拉灯 2014-01-14
  • 打赏
  • 举报
回复
引用 楼主 u013161976 的回复:
例: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Func_1(); Func_2(); Func_3(); } private void Func_1() { MessageBox.Show("1"); } private void Func_2() { MessageBox.Show("2"); //return; } private void Func_3() { MessageBox.Show("3"); } } } =================================================== 想在执行FUNC_2函数时就中断执行,也就是不执行函数FUNC_3 但是不想通过判断if(FUNC_2())返回状态的方式来实现 请问有其他办法么?(就好比发生了异常 这样button1_Click就执行到FUNC_2就不接着往下执行了)
给我100分,就让你不用写if的方法当前前题是你要抛异常
lasesiwen 2014-01-14
  • 打赏
  • 举报
回复
private void button1_Click(object sender, EventArgs e) { Func_1(); Func_2(); return; Func_3(); } 在这里返回
leafmao 2014-01-14
  • 打赏
  • 举报
回复
赞同18楼。。。。 既然什么条件都不用判断,直接就不执行FUN3,那就直接别写那条语句。。。
wayu002 2014-01-13
  • 打赏
  • 举报
回复
那就在Fun2里面抛出异常,button1_Click里面捕获异常呗
小猪八Q 2014-01-13
  • 打赏
  • 举报
回复
不行执行,第三个函数,直接注释掉不也行吗?
mmqw 2014-01-13
  • 打赏
  • 举报
回复
那你在 fun2 中直接return不就行了
u012522824 2014-01-13
  • 打赏
  • 举报
回复
使用线程的暂停行不行?
Wang-Yucai 2014-01-13
  • 打赏
  • 举报
回复
直接在func_2()后面加return就可以了。
jietuan 2014-01-13
  • 打赏
  • 举报
回复
增加判断是最好的方式,抛出异常的方式,你可以抛出比如说分母是0的异常,这种异常级别是很高的。
BenBenBears 2014-01-13
  • 打赏
  • 举报
回复
引用 6 楼 wangmin06jb 的回复:
首先抛出异常肯定是会往下执行的,因为我应急将异常捕获了。不写抛出异常,执行到FUn2就报错了,不会往下跑了,但是程序已经错误了,退出来了.最好的方法还是FUn2返回一个bool值 private bool fun2() { bool flag=true; try { } catch { flag=false; } return flag; }
异常特定异常,处理时灵活点。
wangmin06jb 2014-01-13
  • 打赏
  • 举报
回复
首先抛出异常肯定是会往下执行的,因为我应急将异常捕获了。不写抛出异常,执行到FUn2就报错了,不会往下跑了,但是程序已经错误了,退出来了.最好的方法还是FUn2返回一个bool值 private bool fun2() { bool flag=true; try { } catch { flag=false; } return flag; }
BenBenBears 2014-01-13
  • 打赏
  • 举报
回复
抛出异常在目前看来是不错的方法。 要不阻塞读键盘信息,接收到某值时直接退出程序或者执行其他的。
Regan-lin 2014-01-13
  • 打赏
  • 举报
回复
一般都是通过返回来不让它继续执行下去的,不然你就在执行完fun2抛出个异常
加载更多回复(1)

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧