C#怎么将类中抛出的异常显示到窗体中

例如在数据库连接的类(此类与Form1在一个名称空间下)中出现了一个连接异常,这个时候我想将异常信息在Form1中显示出来,请问怎么操作
要显示异常信息,不要返回0或者1

  思路如下:
  使用委托,不过是全局的了,在当前namespace下定义一委托
  public delegate void Write(string msg);
  在from1窗体中定义一个public 的上面的东西
  public static Write MyWrite;
  并且在from的构造函数(或者加载中赋值)
  public Form1(){
  InitializeComponent();
  MyWrite = Write;
  }
  其中Write就是上面操作listbox1的方法.
  在别的无参的方法中使用
  namespace.Form1.MyWrite("xxoo");
  就可以实现了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-10
private void button1_Click(object sender, EventArgs e)
{
try
{
// 这里连接数据库,可以在连接方法内设定超时时间等等参数
}
catch (Exception ex) // 这句接收了所有的异常,包括连接异常
{
MessageBox.Show(ex.Message); // 显示出来,或者用txtLog.Text = ex.Message;显示到Form上的指定TextBox中
}
}
第2个回答  2012-10-10
用try catch块把会出异常的程序块包起来,发生异常时就会进入catch,根据需要显示异常信息就可以了
例如:
try
{
DBUtil.ExecuteSql(sql, paras);
}
catch (Exception e)
{
Console.Write(e);//e即为异常信息对象
}
第3个回答  推荐于2018-02-28
比如说你那个类的方法是datahelper类中的conn,类似于
public static void conn(out string err)
{
err = null;
try
{
///
}
catch (Exception e)
{
err = e.Message.ToString();
}
}

调用的时候
string e = null;
datahelper.conn(out e);
if (e != null)
//显示e的值至窗体本回答被提问者和网友采纳
第4个回答  2015-08-14
//触发异常
private void Test()
{
int x = 0;
x = 12 / x;
}
//异常捕获
private void button1_Click(object sender, EventArgs e)
{
try
{
test();
}
catch (Exception ex)
{
this.lable.Text = ex.ToString();//显示在Lable控件中
}
}

错误信息:
System.DivideByZeroException: 试图除以零。

C#怎么将类中抛出的异常显示到窗体中
使用委托,不过是全局的了,在当前namespace下定义一委托 public delegate void Write(string msg);在from1窗体中定义一个public 的上面的东西 public static Write MyWrite;并且在from的构造函数(或者加载中赋值)public Form1(){ InitializeComponent();MyWrite = Write;} 其中Write就是上面操作listbox1...

C#如何将输出信息打印到窗体上
窗体上放一个Lable控件,然后将其隐藏,得到信息后将信息内容赋值给Label然后将其显示

C#如何让控件一直在窗体中间显示
想让控件一直在窗体中间显示,那么可以修改Anchor属性,将其值修改为None,再次预览就会发现控件会一直在窗体中间显示。

C#WinForm如何在点击按钮获取数据后,将数据在按钮所在窗体上显示...
根据返回的数据行,动态计算出需要增加的高度,重新设置窗体的高度。再将数据显示到表格中即可。如果数据为空,则隐藏表格。

C# throw抛出异常之后,怎么捕获它,求指导
这个是其它函数吧,只需要在wform窗体中调用的时候使用try{}Cath{}就行,例:wform窗体中调用 try{ a aclss=new a();a.b();} catch(Exception exception2){ MessageBox.Show(exception2.Message);\/\/类a的b函数抛出的错误信息。} --- public class a(){ public b(){ try {} catch{ throw...

C#中怎么用线程实现把信息显示到窗体上,要一条一条的显示,谢谢...
ProgressChanged和RunWorkerCompleted,DoWork中可以写后台处理的代码并调用backgroundWorker.ReportProgress方法来报告信息,ProgressChanged中就可以根据报告的信息来显示进度和状态,RunWorkerCompleted中处理线程结束后腰处理的信息,记住要报告状态必须把WorkerReportsProgress属性设置为true ...

c# 如何将从数据库中查询到的数据显示在窗体里
嗯,您需要添加显示数据的控件,还可以写一个类来访问数据,在按钮里面写相关查询数据的代码,并把查询到的数据添加到显示数据的控件里就好了,

怎么在C#里把查询的结果放到窗体上?
你可以在窗体上添加DataGridview,Button,TextBox,通过在TextBox中输入的条件,拼接SQL语句,点击Button查询,得到一个DataTable,然后设置DataGridview的DataSource属性为DataTable,即可显示出你查询的结果,当然,这样显示的是所有的字段,如果你想显示部分字段,可以在SQL语句里设置或设置DataGridview的要显示...

c#中怎样设置窗体在显示器居中显示
在C#编程中,要实现窗体在显示器上的居中显示,操作步骤相当直接。首先,打开你的C#项目,确保你已经进入了需要调整的窗体设计阶段。接着,用鼠标右键点击你的窗体,然后选择"属性"选项,这将展开窗体的属性面板。在属性面板中,向下滚动找到"StartPosition"这一设置项。这个属性控制着窗体的初始位置。在这里...

C#窗体应用程序怎么将class的运行结果显示在文本框中
首先你得知道这个函数的原型,是返回一个值还是以参数的形式赋值,如果是返回值,那么直接用ToString()方法,如果用的是参数赋值,那么久输入要求的参数再将参数ToString(),然后赋给文本框的Text属性

相似回答