throw new Exception


throw new Exception(String, Exception)函数

throw new Exception(String)
throw是明确地抛出异常

MSDN:Exception (String, Exception) 使用指定错误信息和对做为此异常缘由的内部异常的引用来初始化 Exception 类的新实例。

    在发现异常之后做一下记录异常信息而后在抛出异常,让客户知道有问题了,以便通知技术人员。由于程序异常之后就崩溃的机会很大,先记录问题下来再崩溃才行。测试

捕获异常之后,再抛出一个新的异常。再抛出新异常以前,你能够对前面捕获的异常作一些操做,好比记录日志、获取异常信息而后写到新异常中

int num = Convert.ToInt32(textBox1.Text);
try
{
    if (num == 0)
    {
        throw new ArgumentNullException("出现零!");
    }
    if (num == 1)
    {
        throw new Exception("出现壹!");
    }
}
catch (ArgumentNullException ex)
{
    MessageBox.Show(ex.Message);
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}
    catch是用来处理错误,就是发生了错误时,会执行catch部分.注意:是"发生了错误时".
可是, 在没有发生错误时, 你本身想引起错误怎么办呢? 可使用throw语句来手工引起一个错误.

    好比上面这段程序, 你先画一个文本框,textBox1,一个按钮button1, 若是把这段代码放到button1的click事件里. 
    若是文本框中文本是0,引起一种错误,文本框文本是1时又引起另外一种错误,并可采用不一样的处理办法.日志

我认为catch块里一般对附异常有三种办法:一种办法是,什么也不作,catch语句里只有空语句;另外一种办法是,用messagebox之类的通知异常;还有一种办法是,throw 一个new的异常。
    用哪一种办法取决于你但愿如何处理这个异常。
    若是你想直接通知用户,用messagebox之类的就行了
    若是你想由调用这个函数的程序来处理,能够throw一个new
    若是你但愿你的程序出了“这个”异常还正常运行,就像什么也没发生同样,你能够空语句。
    总之try catch是有意义和必要的,但你的程序如何catch就是你本身的想法喽。
    通常来讲没有必要明确的throw出一个异常,异常应该是由于程序自己运行的问题而产生的,可是有两种状况:
    1. 测试的时候,好比说你不能真的模拟一个内存耗尽这个异常吧,那么只好明确地throw一个了。事件

2. 自定义的异常须要明确的throw出来,由于知足这个条件每每是咱们本身制定的规则不知足了。内存


相关文章
相关标签/搜索