Throw ArgumentOutOfRangeException : Predefined Exception « Development « VB.Net Tutorial

Imports System.Drawing
Imports System.Drawing.Drawing2D

Public Class Tester
    Public Shared Sub Main
        Dim number As Decimal

        number = CDec(Val("123.123"))
        Console.WriteLine("Factorial(" & number & ")... ")

    End Sub
    Public Shared Function Factorial(ByVal number As Decimal) As Decimal
        Select Case number
            Case Is < 0
                Throw New ArgumentOutOfRangeException( _
                    "Negative numbers not allowed.")
            Case Is = 0
                Return 1
            Case Else
                Return number * Factorial(number - 1)
        End Select
    End Function

End Class

Unhandled Exception: System.ArgumentOutOfRangeException: Specified argument was out of the range of
valid values.
Parameter name: Negative numbers not allowed.
   at Tester.Factorial(Decimal number)

7.9.Predefined Exception
7.9.2.Throw DivideByZeroException
7.9.4.Catch FormatException
7.9.5.Throw ArgumentOutOfRangeException
7.9.6.Catch ApplicationException and ArgumentException
7.9.7.Catch EndOfStreamException
7.9.8.Throw ArithmeticException
7.9.9.An overflow exception occurred