F
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
CTF с учебными материалами Codeby Games
Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.
Class MyClass
Sub new
Call destroy(Me)
End Sub
Sub delete
End Sub
Private Sub destroy(Me1 As MyClass)
Delete Me1
End Sub
End Class
f not isempty(a) then...if not a is nothing then...
че то не понял, при создании сразу уничтожается что ли?Sub new
Call destroy(Me)
End Sub
интересный вариант, че раньше не показывал? :blink:
че то не понял, при создании сразу уничтожается что ли?
сильно не пинать с класами не очень
Class MyClass
Sub new
Call destroy(Me)
End Sub
Sub delete
End Sub
Private Sub destroy(Me1 As MyClass)
Delete Me1
End Sub
End Class
Public Class MyClass
private mDoc as NotesDocument
Public Sub New(ADoc As notesdocument)
If ADoc Is Nothing Then
Dim MeObj As Variant
Set MeObj = Me
Delete MeObj
Else
Set mDoc = ADoc
End If
End Sub
End Class
а какой практический смысл вы здесь подразумеваете if not a is nothing then... ?Чтобы можно было так использовать
Set a = New MyClass("abc")
if not a is nothing then...
ну, логически это исключение (из общего принципа работы объекта), но говоря на уровне реализации это может быть как генерация исключения так и возврат определенного значения, т.е. не обязательно генерация ошибки...я не к тому что можно, а логично!
ведь ситуации отказа в инициализации и есть исключение
lmike, чес гря, я не понял твоих замечанийв качестве дискуссии...
"принципа работы объекта" не может быть - ежели он не создается!
и в обсуждаемом случае - это именно так, Nothing - это и есть отсутствие объекта
ну, отсутствует объект, и что? надо биться головой об стол?т.е. дальше работать можно если понимаете что делаете, а если нет - то "аварийный" выход
как можно забыть проверить состояние чего-то, если мы умышленно это используем?по сути if и является обработчиком этого случая, но если вы его "забудете" проверить - то получите исключение в др. месте (а не в данном куске кода), что может усложнить отладку
как может быть объект инициализированным при наличии ошибок инициализации, и как может объект без ошибок инициализации быть неинициализированным?!это позволяет отличить неинициализированный объект от ошибки инициализации
Обучение наступательной кибербезопасности в игровой форме. Начать игру!