C#3.0学习笔记(3)异常处理程序try catch语句
2011-10-29 20:53
288 查看
一, 什么叫异常?
异常就是程序运行时的错误,它违反了一个系统约束或应用程序约束,或出 现了在正常操作时未预料的情形。如用0去除一个数时就会发生异常。
二, try…catch…finally…语句的结构?
未例:
try
{
Statement;
}
catch(…)
{
Statement;
}
finally
{
Statement;
}
1、 try块包括正被异常保护的代码。
2、 catch块是处理异常的代码块,也称异常处理程序。
3、 finally块是在所有情况下无论如何都要执行的代码,无论有没有异常发生。
三, 综合示例:
namespace try_catch
{
class Program
{
static voidMain(string[] args)
{
MyClass mc = new MyClass();
try
{
mc.A();
}
catch (DivideByZeroException)
{
Console.WriteLine("catch clause inMain()");
}
finally
{
Console.WriteLine("finally clause inMain()");
}
Console.WriteLine("After try statement inMain.");
Console.WriteLine(" --keep running!");
}
}
class MyClass
{
public void A()
{
try
{
B();
}
catch (System.NullReferenceException)
{
Console.WriteLine("catch clause in A()");
}
finally
{
Console.WriteLine("finally clause in A()");
}
}
protected void B()
{
int x = 10, y = 0;
try
{
x /= y;
}
catch (System.IndexOutOfRangeException)
{
Console.WriteLine("catch clause in B()");
}
finally
{
Console.WriteLine("finally clause in B()");
}
}
}
}
程序输出结果为:
finally clause in B()
finally clause in A()
catch clause inMain()
finally clause inMain()
After try statement inMain.
--keep running.
异常就是程序运行时的错误,它违反了一个系统约束或应用程序约束,或出 现了在正常操作时未预料的情形。如用0去除一个数时就会发生异常。
二, try…catch…finally…语句的结构?
未例:
try
{
Statement;
}
catch(…)
{
Statement;
}
finally
{
Statement;
}
1、 try块包括正被异常保护的代码。
2、 catch块是处理异常的代码块,也称异常处理程序。
3、 finally块是在所有情况下无论如何都要执行的代码,无论有没有异常发生。
三, 综合示例:
namespace try_catch
{
class Program
{
static voidMain(string[] args)
{
MyClass mc = new MyClass();
try
{
mc.A();
}
catch (DivideByZeroException)
{
Console.WriteLine("catch clause inMain()");
}
finally
{
Console.WriteLine("finally clause inMain()");
}
Console.WriteLine("After try statement inMain.");
Console.WriteLine(" --keep running!");
}
}
class MyClass
{
public void A()
{
try
{
B();
}
catch (System.NullReferenceException)
{
Console.WriteLine("catch clause in A()");
}
finally
{
Console.WriteLine("finally clause in A()");
}
}
protected void B()
{
int x = 10, y = 0;
try
{
x /= y;
}
catch (System.IndexOutOfRangeException)
{
Console.WriteLine("catch clause in B()");
}
finally
{
Console.WriteLine("finally clause in B()");
}
}
}
}
程序输出结果为:
finally clause in B()
finally clause in A()
catch clause inMain()
finally clause inMain()
After try statement inMain.
--keep running.
相关文章推荐
- JavaSE8基础 try与catch语句之间不能有程序
- [javascript权威指南笔记02]Throw语句和异常处理机制try/catch/finally
- C#中Try-Catch语句真的影响程序性能吗?
- 4.第三单元任务三实训:编写一个类ExceptionTest,在main方法中使用try-catch-finally语句结构实现:在try语句块中,编写两个数相除操作,相除的两个操作数要求程序运行时用
- RuntimeException的特殊情况&&[C++] 有人会在程序中try catch吗?&&什么样的问题需要用try catch语句执行
- C#程序经常出错闪退,可加入try..catch语句
- java中用try如果catch到异常,怎么把这个异常处理掉让程序继续运行
- try-catch-finally中return语句执行的理解
- JavaScript中的try...catch和异常处理http://ajax.cnrui.cn/article/2/3/2006/20061018576.shtml
- [转] C++ try catch() throw 异常处理
- js错误处理之try-catch语句
- Try-Catch真的会影响程序性能吗
- try...catch...finally语句块
- 关于java中的try-catch-finally语句和return
- java的异常处理机制(try....catch...finally)
- 使用 TRY/CATCH 语句解决 SQL Server 2005 死锁
- C#的try-catch-finally 中的catch语句的异常有顺序的区别
- 关于java中的try-catch-finally语句和return
- try-catch-finally块中的退出语句
- WCF基础教程之异常处理:你的Try..Catch语句真的能捕获到异常吗?