2014-01-29 427 views
0

當我初始化爲零的變量,像int i=0,它拋出一個異常:我該如何處理這些「嘗試除以零」的錯誤?

嘗試通過零

來劃分這怎麼可能?在其他情況下拋出異常,例如從集合中獲取零索引值:collection[0]if(a%b==0)等。

請建議我如何處理這個問題。

+0

除以零(或者與標準除法或模量)就通過一'DivideByZeroException'。如果你不想在分割前檢查你的除數是否爲零。 – shf301

回答

3

DivideByZeroException

時引發當存在由零除積分(如intlong)或decimal值的嘗試的異常。

此異常還將在a % b的情況下被拋出如果b的計算結果爲0。

要麼

  1. 表達,使得0被從未在除法中使用/模,或;

  2. 捕獲異常(益)

+2

+1提供兩種選擇,守衛是最好的解決方案。如果在代碼中經常發生這種情況,最好使用函數'Divide(int a,int b)'來執行守護操作,這樣你就不會重複自己,也不會忘記守護。 –

0

你需要抓住你的Exception,妥善處理。

try 
{ 
    // your code that throws exception 
} 
catch (DivideByZeroException ex) 
{ 
    // Perform an appropriate action 
    // for example display a custom message 
    Console.WriteLine(ex.Message); 
} 

更多信息參見:Exceptions and Exception Handling