Это арифметическое исключение VB.NET? - PullRequest
1 голос
/ 26 апреля 2011

Хорошо, вот что меня попросил учитель.Напишите основную программу, которая использует одно из арифметических исключений (кроме деления числа на ноль), моделируя программы, которые вы видели в этом уроке.Затем, во второй программе, напишите ту, которая не выдаст ошибку.

В уроке были DivideByZeroException, NotFiniteNumberException и OverflowException.

EDIT: я не могу использовать DivideByZeroException.

Я новичок, поэтому не очень разбираюсь в программировании.Я учусь в старшей школе, поэтому, пожалуйста, наберитесь терпения.

Ответы [ 3 ]

1 голос
/ 26 апреля 2011

Бала ответ близко:

Dim j As Integer = Integer.MaxValue + 1 '<-- doesn't compile

Это действительно переполнено, но не компилируется, потому что компилятор обнаруживает, что мы пытаемся присвоить значение, которое не помещается внутри целого числа.

Если мы передадим ей переменную, то компилятор не делает никаких предположений о значении этой переменной, поэтому код компилируется. Сбой с OverflowException во время выполнения.

Dim i As Integer = Integer.MaxValue
Dim j As Integer = i + 1 '<--  OverflowException at runtime
1 голос
/ 26 апреля 2011

Я бы рекомендовал прочитать документацию по ArithmeticException здесь:

http://msdn.microsoft.com/en-us/library/system.arithmeticexception.aspx

Существует 3 подкласса ArithmeticException, о которых вы можете прочитать в ссылке выше.

  • DivideByZeroException
  • NotFiniteNumberException
  • OverflowException

Самым простым для создания является DivideByZeroException - просто разделите int на ноль. Это может быть хорошим, чтобы попробовать первым. Что касается других, прочитайте, что их вызывает, и попробуйте создать сценарий, который соответствует описанию.

0 голосов
/ 26 апреля 2011

Попробуйте

Dim j As Integer = Integer.MaxValue + 1

, что приведет к OverflowException

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...