IT-Academy

Ošetrenie chýb

Aug 11th, 2016
252
0
Never
1
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
Comments
  • User was banned
Add Comment
Please, Sign In to add comment