读书人

C#中怎么让自己编写 的类中的异常能被

发布时间: 2012-01-28 22:06:13 作者: rapoo

C#中如何让自己编写 的类中的错误能被try catch 语句捕获?
如题,自己编写一个类,类中有一成员函数DoSomething()
public void DoSomthisng()
{
if(....)
//错误处理和描述
else
//处理

}
想实现的效果是当用户用try语句
try
{
SomeClass.DoSomethin();
}
cahtch (Exception err)
{
message.Text=err.ToString();
}
捕获错误时,能够显示我所定义的错误描述,这个能实现吗?若可以的话该如何实现?
期待大家的赐教

[解决办法]

throw new Exception( "这里发现一个错误 ");
来引发一个异常!
[解决办法]
捕获异常后自己重新throw一个自定义的异常
呵呵
[解决办法]
给个自定义异常的Demo
using System;

namespace Exercise
{
class ExceptionDemo
{
static void Main(string[] args)
{
int num;

try
{
num = Convert.ToInt32(Console.ReadLine());
if (num < 0)
throw new myException(2000, "小于零 ");
}
catch(myException err)
{
Console.WriteLine(err.Number);
Console.WriteLine(err.Message);
}
}
}

class myException:System.ApplicationException
{
private uint errorNumber;

public myException():base( "myException "){}

public myException(uint Number, string Message):base(Message)
{
this.errorNumber = Number;
}

public uint Number
{
get{return this.errorNumber;}
}
}
}

[解决办法]
public void DoSomthisng()
{
if(....)
throw new Exception( "错误处理和描述 ");
else
//处理

}
[解决办法]
throw 一个新的Exception
[解决办法]
public class MyException : Exception
{
// 这里写一些你自己的定义
}

public class MyClass
{
if (代码异常)
{
// 做必要处理
// 实例化自定义异常
MyException ex = new MyException();
// 这里定义你的ex
// 抛出异常
throws ex;
}
else
{
try
{
// 运行正常代码
}
catch (Exception ex)
{
// 必要的处理
// 实例化自定义异常
MyException ex = new MyException();
// 这里定义你的ex
// 抛出异常
throws ex;
}
}

读书人网 >C#

热点推荐