2014-04-16 82 views
0

我在2008年VB這給了我一個錯誤的問題:「OverflowException異常是未處理」 在這段代碼:該錯誤是亮點Next bVB.NET發生OverflowException了未處理

 Dim gfx As Graphics 
     Dim a,r,g,b As byte 
     Dim left As Integer 
     Dim lStep As Integer = 1 

     For left = 0 To Me.ClientRectangle.Height Step lStep 

      For a = 1 To 255 
       For r = 1 To 255 
        For g = 1 To 255 
         For b = 1 To 255 
          gfx.DrawLine(New Pen(Color.FromArgb(a, r, g, b)), 0, left, Me.ClientRectangle.Width, left) 

         Next b 

        Next g 
       Next r 
      Next a 

回答

2
Dim a,r,g,b As byte 

這就是你的問題開始的地方。您的For循環從1增加到255,當值達到256時停止。但對於字節而言,這是不可能的,它只能存儲介於0和255之間的值。當Next語句試圖將其從255增加到256時,Kaboom會將其加1。

只需聲明它們​​。它不僅解決了溢出問題,而且更快。

相關問題