catch块中的错误字符串?

时间:2010-07-22 10:53:36

标签: c# .net asp.net

我有以下代码,当出现错误时显示字符串中的错误

有什么方法可以在catch块中做到这一点吗?

  main()
    {
    try
    {
    if (a==1)
    {
     string = "error1"
    }
    elseif (a==2)
    {
     string = "error2"
    }
    }
    }
    catch (e)
    {


    }

如下所示:

我有以下代码,当出现错误时显示字符串中的错误

有什么方法可以在catch块中做到这一点吗?

main()
{
try
{
}
}

catch (e)
{

if (a==1)
{
 string = "error1"
}
elseif (a==2)
{
 string = "error2"
}

}

6 个答案:

答案 0 :(得分:3)

你正在制作我害怕的语法的绝对哈希。我建议你先阅读MSDN article on try-catch statements。然后,异常处理的语法和语义应该开始有意义。

答案 1 :(得分:2)

即使它是不正确的版本,它也可以回答您的问题:

    try {

        if (a == 1) {
            throw new Exception("error1");
        } else if (a == 2) {
            throw new Exception("error2");
        }

    } catch (Exception ex) {
        Console.WriteLine("Errormessage = " + ex.Message);
    }

答案 2 :(得分:0)

为什么要将逻辑放入catch块?

您应该阅读异常处理以了解正确的语法是什么,以及为什么要首先使用它。

http://www.csharp-station.com/Tutorials/lesson15.aspx

关于c#的好书可能也很有用,你可以尝试Essential C#,因为它对初学者很有用......

答案 3 :(得分:0)

这不是使用异常处理的正确方法。 例外情况应该是例外情况,而不是用于条件逻辑。

你需要的只是你的if ... else块。

答案 4 :(得分:0)

你可能想做这样的事情。

 try {

 if(a == 1) {throw new Exception("Erorr1");}

 if(a == 2) {throw new Exception("Erorr2");}

 } catch(Exception e) {
   /*Do something with exception or look below */
 }

这里通过抛出catch子句

中提供的异常来引发错误

或者

try{
 /*Some code that cause an Exception*/
} catch(Exception e) { //Exception describe the type which wold be caught. 

 string errorType = String.Empty;

 var a = -1; //Assign to it smtg from e that You want to check

 if(a == 1) {
   errorType = "erro1";
 }
 else  if (a == 2) {
   errorType = "erro2";
 }

 /* More Your code*/

}

雇用你做了一些你抓到的错误类型的东西。

但首先要阅读您想在代码中使用的内容。

答案 5 :(得分:0)

阅读Baseball Exception Handling,为什么不这样做。