您现在所在的位置:首页 >学习资源 > Unity游戏/VR/AR入门教材 > VR开发入门教程34:控制台编程--异常中的Try-Catch

VR开发入门教程34:控制台编程--异常中的Try-Catch

来源:奇酷教育 发表于:

捕捉异常捕获并处理异常try { 接受监视的程序块,在此区域内发生 的异常,由catch中指定的程序处理;} 不能有其它语句分隔catch(要处理

捕捉异常

捕获并处理异常
try  {
  //接受监视的程序块,在此区域内发生
  //的异常,由catch中指定的程序处理;
}
// 不能有其它语句分隔
catch(要处理的异常种类和标识符) {
  //处理异常;
}catch(要处理的异常种类和标识符) {
  //处理异常;
}

Tty-Catch语句

try语句
     捕获例外的第一步就是用try {…}语句指定了一段代码,该段代码就是一次捕获并处理例外的范围。在执行过程中,该段代码可能会产生并抛弃一个或多个例外,因此,它后面的catch语句进行捕获时也要做相应的处理。
   如果没有例外产生,所有的catch代码段都被略过不执行。
catch语句
     每个try语句必须伴随一个或多个catch语句,用于捕获try代码块所产生的例外并做相应的处理。 catch语句有一个形式参数,用于指明其所能捕获得例外类型,运行时系统通过参数值把被抛弃的例外对象传递给catch语句。
     程序设计中要根据具体的情况来选择catch语句的例外处理类型,一般应该按照try代码块中例外可能产生的顺序及其真正类型进行捕获和处理,尽量避免选择最一般的类型作为catch语句中指定要捕获的类型。
     当然也可以用一个catch语句处理多个例外类型,这时它的例外类型应该是这多个例外类型的父类,但这种方式使得在程序中不能确切判断例外的具体类型。
 
注意事项:
1.例外总是由距离产生例外最近的匹配catch代码段处理
2.如果没有相应的例外处理
     则例外被交给上一层try代码段进行处理
3.例外处理的查找依据类型匹配原则顺序进行
     第一个匹配的例外处理被执行,当例外处理执行完毕,程序接着最后一个catch代码段后的语句执行
4.例外处理的顺序影响到例外的处理
     子类例外可被父类例外处理捕获
     不要先捕获父类例外,再捕获子类例外
5.如果找不到相应的例外处理
     程序将结束程序执行;
6.尽量避免用一般类型作为catch中指定要捕获的类型。一般应该按照try代码块中例外可能产生的顺序及其真正类型进行捕获和处理。
7.在例外处理中无法访问try代码段中声明的变量。因为此时try代码段已经退出了,例外处理所需要的任何信息一般都应该通过例外对象来传递
8.在使用方法时尽量直接处理该方法可能产生的例外,这样你的程序就会更健壮
9.在catch代码段中产生的例外不是由相同try的后续catch代码段处理,而是由包含整个try-catch结构的上层try代码段检测并处理
10.可以把catch到的例外对象再次抛出,使上层try-catch结构继续处理该例外事件;也可以把例外对象转换为其它例外对象…
catch (Exception e) { throw e; }
11.try-catch机制不该被用于流程控制,例外情形应该是很稀少的,而不是经常性的
12.在catch代码段中的return语句用于退出方法,而不是返回到例外抛出点(throw point)