我需要在mul()方法中處理OverflowException。如何處理C#中的OverflowException?
class B
{
short a, b;
public B(short a, short b) { this.a = a; this.b = b; }
public short mul()
{
try
{
return checked((short)(a * b));
}
catch (OverflowException exc) { Console.WriteLine(exc); }
}
}
class MainClass
{
public static void Main(string[] args)
{
B m1 = new B(1000, 500);
m1.mul();
}
}
但上面的代碼提供了以下錯誤:錯誤CS0161:「B.mul()」:不是所有的代碼路徑返回一個值(CS0161)
我能做些什麼來解決這個問題?
返回捕捉異常 – stuartd
這意味着,還有的地方'MUL()'沒有按的情況下,後一個值't'返回'一個值。如果想想你的代碼的功能,很容易找到。 –
所有的答案都提到在catch中添加第二個'return' - 你也可以有一個'return',在try/catch塊外部(通常我是這麼做的) – Veverke