VB Visual Basic  ·  20 вопросов  ·  ~55 мин  ·  ⏱ Таймер 55:00  ·  Лёгкий  · 

Исключения и Using

Тест по теме «Исключения и Using» состоит из 20 вопросов: нужно читать код, сравнивать близкие решения, находить границы применимости правил и разбирать последствия ошибок. Заданий с кодом — 12; после каждого ответа открывается объяснение.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На тест отведено 55 минут; после ответа можно открыть объяснение.
Вопрос 1 из 20
Раздел «Обработка Try — Catch — Finally»: что в этом коде определяет результат, а не случайное совпадение тестовых данных?
Visual Basic / VB.NETVisual Basic · Исключения и Using
Module Demo
    Sub Main()
        Try
            Console.WriteLine(10 \ (3 - 3))
        Catch ex As DivideByZeroException
            Console.WriteLine("zero")
        Finally
            Console.WriteLine("done")
        End Try
    End Sub
End Module
Вопрос 2 из 20
Раздел «Обработка Try — Catch — Finally»: что должно остаться явным после переработки участка с DivideByZeroException?
Visual Basic / VB.NETVisual Basic · Исключения и Using
Option Strict On
Namespace ReviewCase10_1
    Module Demo
        Sub Main()
            Try
                Console.WriteLine(11 \ (7 - 7))
            Catch reviewEx As DivideByZeroException
                Console.WriteLine("zero")
            Finally
                Console.WriteLine("done")
            End Try
        End Sub
    End Module
End Namespace
Вопрос 3 из 20
Раздел «Обработка Try — Catch — Finally»: какой результат следует зафиксировать до запуска отрицательного сценария?
Visual Basic / VB.NETVisual Basic · Исключения и Using
Option Explicit On
Option Infer On
Namespace BoundaryCase10_1
    Module Demo
        Sub Main()
            Try
                Console.WriteLine(9 \ (1 - 1))
            Catch edgeEx As DivideByZeroException
                Console.WriteLine("zero")
            Finally
                Console.WriteLine("done")
            End Try
        End Sub
    End Module
End Namespace
Вопрос 4 из 20
Раздел «Обработка Try — Catch — Finally»: что нужно сделать частью контракта рабочего модуля?
Вопрос 5 из 20
Что можно считать надёжным рабочим правилом для раздела «Обработка Try — Catch — Finally»?
Вопрос 6 из 20
Не запуская фрагмент, выберите объяснение, которое учитывает весь механизм «Выбрасывание и повтор исключений».
Visual Basic / VB.NETVisual Basic · Исключения и Using
Module Demo
    Sub Load()
        Try
            Throw New InvalidOperationException("source")
        Catch ex As Exception
            Throw ex
        End Try
    End Sub
End Module
Вопрос 7 из 20
Раздел «Выбрасывание и повтор исключений»: какая претензия к возможной правке относится к поведению программы?
Visual Basic / VB.NETVisual Basic · Исключения и Using
Option Strict On
Namespace ReviewCase10_2
    Module Demo
        Sub Load()
            Try
                Throw New InvalidOperationException("source")
            Catch reviewEx As Exception
                Throw reviewEx
            End Try
        End Sub
    End Module
End Namespace
Вопрос 8 из 20
Раздел «Выбрасывание и повтор исключений»: для участка с Load нужен отрицательный тест. Какой контракт стоит проверить, меняя только одно условие?
Visual Basic / VB.NETVisual Basic · Исключения и Using
Option Explicit On
Option Infer On
Namespace BoundaryCase10_2
    Module Demo
        Sub Load()
            Try
                Throw New InvalidOperationException("source")
            Catch edgeEx As Exception
                Throw edgeEx
            End Try
        End Sub
    End Module
End Namespace
Вопрос 9 из 20
Раздел «Выбрасывание и повтор исключений»: какой подход сохраняет границу ответственности и делает отказ диагностируемым?
Вопрос 10 из 20
Какое утверждение точнее отделяет «Выбрасывание и повтор исключений» от соседних механизмов?
Вопрос 11 из 20
Какой вывод о фрагменте по теме «Блоки Using» технически обоснован?
Visual Basic / VB.NETVisual Basic · Исключения и Using
Imports System.IO
Module Demo
    Sub Main()
        Using stream = File.Open("sample.bin", FileMode.OpenOrCreate, FileAccess.ReadWrite)
            stream.WriteByte(CByte(6))
        End Using
    End Sub
End Module
Вопрос 12 из 20
После рефакторинга код стал короче. Какое условие по теме «Блоки Using» нельзя потерять?
Visual Basic / VB.NETVisual Basic · Исключения и Using
Option Strict On
Imports System.IO
Namespace ReviewCase10_3
    Module Demo
        Sub Main()
            Using stream = File.Open("sample.bin", FileMode.OpenOrCreate, FileAccess.ReadWrite)
                stream.WriteByte(CByte(3))
            End Using
        End Sub
    End Module
End Namespace
Вопрос 13 из 20
Раздел «Блоки Using»: для участка с stream нужен отрицательный тест. Какой контракт стоит проверить, меняя только одно условие?
Visual Basic / VB.NETVisual Basic · Исключения и Using
Option Explicit On
Option Infer On
Imports System.IO
Namespace BoundaryCase10_3
    Module Demo
        Sub Main()
            Using stream = File.Open("sample.bin", FileMode.OpenOrCreate, FileAccess.ReadWrite)
                stream.WriteByte(CByte(4))
            End Using
        End Sub
    End Module
End Namespace
Вопрос 14 из 20
Раздел «Блоки Using»: какой подход сохраняет границу ответственности и делает отказ диагностируемым?
Вопрос 15 из 20
Раздел «Блоки Using»: какое правило остаётся верным для современного Visual Basic?
Вопрос 16 из 20
Не запуская фрагмент, выберите объяснение, которое учитывает весь механизм «Собственные ошибки».
Visual Basic / VB.NETVisual Basic · Исключения и Using
Class InvalidOrderStateException
    Inherits Exception
    Public ReadOnly Property OrderId As Integer
    Public Sub New(orderId As Integer, message As String)
        MyBase.New(message)
        Me.OrderId = orderId
    End Sub
End Class
Вопрос 17 из 20
Раздел «Собственные ошибки»: что следует зафиксировать в ревью, чтобы ошибка не переехала из сборки в выполнение?
Visual Basic / VB.NETVisual Basic · Исключения и Using
Option Strict On
Namespace ReviewCase10_4
    Class InvalidOrderStateException
        Inherits Exception
        Public ReadOnly Property OrderId As Integer
        Public Sub New(reviewOrderId As Integer, reviewMessage As String)
            MyBase.New(reviewMessage)
            Me.OrderId = reviewOrderId
        End Sub
    End Class
End Namespace
Вопрос 18 из 20
Раздел «Собственные ошибки»: какое утверждение поможет отличить настоящий дефект от случайности тестовых данных?
Visual Basic / VB.NETVisual Basic · Исключения и Using
Option Explicit On
Option Infer On
Namespace BoundaryCase10_4
    Class InvalidOrderStateException
        Inherits Exception
        Public ReadOnly Property OrderId As Integer
        Public Sub New(edgeOrderId As Integer, edgeMessage As String)
            MyBase.New(edgeMessage)
            Me.OrderId = edgeOrderId
        End Sub
    End Class
End Namespace
Вопрос 19 из 20
Раздел «Собственные ошибки»: как уменьшить риск дефекта, не подменяя причину запасным значением?
Вопрос 20 из 20
Раздел «Собственные ошибки»: какое обобщение не зависит от случайных деталей показанного примера?

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу