我已經在下面包含了我的源代碼草稿。我將不勝感激任何意見。我不確定我的語法是否正確...另外,我確實在Cramster上找到了一個例子;但我不確定該示例是否按照指示實施了「下標」(請在指示錯誤的情況下指出)。我也認爲「for」循環是相當重複的,因爲它似乎建立了下標應該建立的相同的事情......該代碼是對以下作業的響應:有關循環,數組,下標和IndexOutOfRangeException的Try塊中的C#錯誤
「Write a program in它聲明一個由5個整數組成的數組,並在 中存儲5個數值。編寫一個try塊,在其中放置一個循環,嘗試訪問數組中的每個 元素,將下標從0遞增到10.創建一個catch塊 捕獲了最終的IndexOutOfRangeException;在該塊內,在屏幕上顯示「Now you've too far。」,將該文件保存爲GoTooFar.cs。「
微軟的Visual C#®2008年,面向對象的編程介紹,3E,喬伊斯·法雷爾
我的源代碼有錯誤:
using System;
namespace Further
{
public class GoTooFar
{
public static void Main()
{
private static int[] fiveIntArray = {1, 2, 3, 4, 5};
//private static int CUTOFF = 11;
int subscript;
int rate;
try
{
//bool further;
//public static int DetermineArray(int further)
for(int x = 0; x < 10; x++)
if(further < 11)
throw new IndexOutofRangeException("Now you've gone too far.");
subscript = 0;
else
subscript = 10;
rate = fiveIntArray[subscript];
return rate;
}
catch(IndexOutOfRangeException e)
{
throw;
Console.WriteLine(e.StackTrace);
//Console.WriteLine("Now you've gone too far.");
//return e;
}
}
}
}
//的我發現了例如Cramster.com :
using System;
namespace Console2
{
class Class1
{
static void Main(string[] args)
{
int[] numbers = new int[5] {1, 2, 3, 4, 5};
try
{
for(int i=0;i<10;i++)
if(i>5)
throw new IndexOutOfRangeException("Now you’ve gone too far.");
}
catch(IndexOutOfRangeException e)
{
throw;
}
}//end ma...
}
}
非常感謝您的幫助。我真的很感激你花時間指出我代碼中可怕的缺陷(而不是僅僅向我展示它應該如何完成)。因爲你花時間做這件事,我從你的評論中學到了很多東西。我必須說,這種建設性的批評對我學習如何編程比幫助我更有幫助,而不僅僅是看到一個真正有效的特定源代碼,因爲它向我展示了我犯的重大錯誤。也就是說,我喜歡你的源代碼比在cramster上的更好。少即是多... :-) – Nooob 2010-11-13 17:01:27