===[ Программизм ]=== #post-id: 6818-03-26 #original-date: 27.03.2019 Wed #original-time: 3:26 AM #original-day: 6818 #original-host: WinXP Home SP3 (Build 2600) Неочевидная вещь. «On Error Resume Next» сбрасывает объект Err. Например: > Option Explicit > > On Error Resume Next > > MsgBox Err.Number > Err.Raise 51 > MsgBox Err.Number > > On Error Resume Next > > MsgBox Err.Number > Err.Raise 51 > MsgBox Err.Number Код выше не имеет смысла, но смысл появляется, когда всё разнесено по функциям. > Option Explicit > > DoIt1 > > Sub DoIt1() > On Error Resume Next > > MsgBox Err.Number > Err.Raise 51 > MsgBox Err.Number > > DoIt2 > End Sub > > Sub DoIt2() > On Error Resume Next > > MsgBox Err.Number > Err.Raise 51 > MsgBox Err.Number > End Sub Обычно о таких вещах не задумываются, пока в голову не придёт мысль: «А что если Err с ошибкой придёт извне? У меня же нигде нет сброса объекта!» ^^'