catch中的return是指:
在try{ 。。。 }代码块中,如果抛出异常, 则会进入 catch { ... },如果没有抛出异常,代码不会执行catch { ... }。就像是代码执行流程的两个分支。
另外,C#编译器要求所有函数所有的分支必须返回值,正如代码中注释所说的:“;//如果不写return的话,会说函数MyInt并非所有的代码路径都返回值
”
补充:
catch表示捕获了异常,或者说“消化”了异常,即我们以代码的方式消除了这个异常。所以程序还是会继续执行。执行完:
int i1 = MyInt("一");
int i2 = MyInt("二");
两句后,会正常执行:
Console.WriteLine("{0}与{1}的和是{2}!",i1,i2,i1+i2);
返回一个表示错误的值,比如-1,自己明白就行了
对啊,在WriteLine()之前加一个判断,
如果是表示错误的值,就不要写了啊。
由于你的函数是INT返回类型,所以程序在编译时无论你是在catch里还是不在catch里都必须具备一个INT型的返回值,编译器可不会理会在不在catch里,它只知道它要一个返回值