IT-Academy

Ošetrenie chýb

Aug 11th, 2016
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. Sub TestovaciaProcedura()
  3.    
  4.     Dim i As Integer
  5.    
  6.     Dim x As Integer
  7.    
  8.     For i = -1 To 1
  9.        
  10.         x = 3 / i
  11.        
  12.     Next i
  13.    
  14. End Sub
  15.  
  16.  
  17. Sub OsetrenieChyby1()
  18.    
  19.     Dim i As Integer
  20.    
  21.     Dim x As Integer
  22.    
  23.     'pri chybe skoè na dalsi riadok
  24.    
  25.     On Error Resume Next
  26.    
  27.     For i = -1 To 1
  28.        
  29.         x = 3 / i
  30.         MsgBox (x)
  31.        
  32.     Next i
  33.    
  34. End Sub
  35.  
  36. Sub OsetreniChyby2()
  37.    
  38.     Dim i As Integer
  39.    
  40.     Dim x As Integer
  41.    
  42.     'pri chybe skoè na dalši riadok
  43.    
  44.     On Error Resume Next
  45.    
  46.     For i = -1 To 1
  47.        
  48.         x = 3 / i
  49.        
  50.         'zaregistroval objekt Err chybu?
  51.        
  52.         If Err <> 0 Then
  53.            
  54.             'evidencia èísla a popisu chyby
  55.            
  56.             'do okna Immediate(anglicky)
  57.            
  58.             Debug.Print Err.Number & vbTab & Err.Description
  59.            
  60.             'reset
  61.            
  62.             Err.Clear
  63.            
  64.         End If
  65.        
  66.     Next i
  67.    
  68. End Sub
  69.  
  70. Sub OsetrenieChyby3()
  71.    
  72.     Dim i As Integer
  73.    
  74.     Dim x As Integer
  75.    
  76.     'pri chybe skoè na riadok Chyba
  77.    
  78.     On Error GoTo chyba
  79.    
  80.     For i = -1 To 1
  81.        
  82.         x = 3 / i
  83.         MsgBox x
  84.        
  85.     Next i
  86.    
  87. chyba:
  88.     MsgBox "lla"
  89. End Sub
  90.  
  91. Sub OsetrenieChyby4()
  92.    
  93.     Dim i As Integer
  94.    
  95.     Dim x As Integer
  96.    
  97.     'pri chybe skoè na riadok Chyba
  98.    
  99.     On Error GoTo chyba
  100.    
  101.     For i = -1 To 1
  102.        
  103.         x = 3 / i
  104.        
  105.     Next i
  106.    
  107.     Exit Sub
  108.    
  109. chyba:
  110.    
  111.     'chyba delenia nulou
  112.    
  113.     If Err.Number = 11 Then MsgBox (Err.Description)
  114.    
  115.    
  116.    
  117.     'ošetrenie promennej
  118.    
  119.     i = i + 1
  120.    
  121.     'návrat na riadok, ktorý vyvolal chybu
  122.    
  123.     Resume
  124.    
  125.    
  126.    
  127.     'alternativa bez priameho ošetrenia promennej
  128.    
  129.     'Resume Next
  130.    
  131. End Sub
Advertisement
Add Comment
Please, Sign In to add comment