我有以下代码,当出现错误时显示字符串中的错误
有什么方法可以在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"
}
}
答案 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,为什么不这样做。