我发现有些try .. catch 语句中,有的代码是catch (Exception ex), 有的代码是catch (Exception ),那么的问题是?
按照VS的规则,catch (异常类名 异常变量名)catch (Exception ex)才是对的,
那么为啥还可以用catch (Exception ),且可以编译与运行通过?
Exception是一个基类,所有异常类都继承自它,你自己封装一个也要继承,ex是实现它的实例对象,取啥名随你,一般叫e,取出异常信息直接e.属性名,例如e.message可取出错误信息,当然是否实例化就随你了,因为try catch就是尝试执行try中代码,执行有错误就跳到catch中执行,那我完全可以不实例化e,直接在catch中写throw new Exception(“出错了。。。。”),我完全不需要用e,因为它一旦执行就意味着try中出错了
语法就是这样定的吧,和VS没关系的。