<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net_Tutorial%2FDevelopment%2FException</id>
		<title>VB.Net Tutorial/Development/Exception - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net_Tutorial%2FDevelopment%2FException"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net_Tutorial/Development/Exception&amp;action=history"/>
		<updated>2026-04-05T12:46:51Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net_Tutorial/Development/Exception&amp;diff=2875&amp;oldid=prev</id>
		<title> в 16:40, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net_Tutorial/Development/Exception&amp;diff=2875&amp;oldid=prev"/>
				<updated>2010-05-26T16:40:30Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:40, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net_Tutorial/Development/Exception&amp;diff=2876&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net_Tutorial/Development/Exception&amp;diff=2876&amp;oldid=prev"/>
				<updated>2010-05-26T12:53:37Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Basics of Visual Basic exception handling==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Public Class Tester&lt;br /&gt;
    Public Shared Sub Main&lt;br /&gt;
    &lt;br /&gt;
      Try&lt;br /&gt;
         Dim numerator As Integer = Convert.ToInt32(&amp;quot;123&amp;quot;)&lt;br /&gt;
         Dim denominator As Integer = Convert.ToInt32(&amp;quot;321&amp;quot;)&lt;br /&gt;
         Dim result As Integer = numerator \ denominator&lt;br /&gt;
         Console.WriteLine(result)&lt;br /&gt;
      Catch formattingException As FormatException&lt;br /&gt;
         Console.WriteLine(&amp;quot;You must enter two integers&amp;quot;)&lt;br /&gt;
      Catch dividingException As DivideByZeroException&lt;br /&gt;
         Console.WriteLine(dividingException.Message)&lt;br /&gt;
      End Try&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Catch Exception in a function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Module Module1&lt;br /&gt;
    Sub Main()&lt;br /&gt;
            Try&lt;br /&gt;
                AddNumbers(1, 2)&lt;br /&gt;
            Catch Except As Exception&lt;br /&gt;
                Console.WriteLine(&amp;quot;Call generated error: &amp;quot; &amp;amp; Except.Message)&lt;br /&gt;
            End Try&lt;br /&gt;
    End Sub&lt;br /&gt;
    Function AddNumbers(ByVal A As Integer, ByVal B As Integer) As Integer&lt;br /&gt;
        Try&lt;br /&gt;
            Throw New ArithmeticException()&lt;br /&gt;
        Catch Except As Exception&lt;br /&gt;
            Console.WriteLine(Except.Message)&lt;br /&gt;
        End Try&lt;br /&gt;
    End Function&lt;br /&gt;
End Module&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Overflow or underflow in the arithmetic operation.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Convert Exception to String==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Module Module1&lt;br /&gt;
    Sub Main()&lt;br /&gt;
        Dim A, B, C As Integer&lt;br /&gt;
        A = 3&lt;br /&gt;
        B = 0&lt;br /&gt;
        Try&lt;br /&gt;
            C = A Mod B&lt;br /&gt;
        Catch Except As Exception&lt;br /&gt;
            Console.WriteLine(Except.ToString())&lt;br /&gt;
        End Try&lt;br /&gt;
&lt;br /&gt;
    End Sub&lt;br /&gt;
End Module&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;System.DivideByZeroException: Attempted to divide by zero.&lt;br /&gt;
   at Module1.Main()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Display Exception Trace==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Module Module1&lt;br /&gt;
    Sub Main()&lt;br /&gt;
        Try&lt;br /&gt;
            Console.WriteLine(&amp;quot;Result: &amp;quot;, First())&lt;br /&gt;
        Catch Except As Exception&lt;br /&gt;
            Console.WriteLine(Except.StackTrace)&lt;br /&gt;
        End Try&lt;br /&gt;
    End Sub&lt;br /&gt;
    Private Function First() As Integer&lt;br /&gt;
        First = Second()&lt;br /&gt;
    End Function&lt;br /&gt;
    Private Function Second() As Integer&lt;br /&gt;
        Second = Third()&lt;br /&gt;
    End Function&lt;br /&gt;
    Private Function Third() As Integer&lt;br /&gt;
        Dim A As Integer = 0&lt;br /&gt;
        Third = 100 Mod A&lt;br /&gt;
    End Function&lt;br /&gt;
End Module&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;at Module1.Main()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exception fields==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Imports System.IO&lt;br /&gt;
Module Module1&lt;br /&gt;
    Sub Main()&lt;br /&gt;
        Dim SourceFile As StreamReader&lt;br /&gt;
        Try&lt;br /&gt;
            SourceFile = New StreamReader(&amp;quot;FilenameISBad.XXX&amp;quot;)&lt;br /&gt;
        Catch Except As Exception&lt;br /&gt;
            Console.WriteLine(Except.Message)&lt;br /&gt;
            Console.WriteLine(Except.Source)&lt;br /&gt;
            Console.WriteLine(Except.StackTrace)&lt;br /&gt;
            Console.WriteLine(Except.TargetSite.Name)&lt;br /&gt;
        End Try&lt;br /&gt;
    End Sub&lt;br /&gt;
End Module&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Get Message from Exception==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Module Module1&lt;br /&gt;
    Sub Main()&lt;br /&gt;
        Dim A, B, C As Integer&lt;br /&gt;
        A = 3&lt;br /&gt;
        B = 0&lt;br /&gt;
        Try&lt;br /&gt;
            C = A Mod B&lt;br /&gt;
        Catch Except As Exception&lt;br /&gt;
            Console.WriteLine(Except.Message())&lt;br /&gt;
        End Try&lt;br /&gt;
    End Sub&lt;br /&gt;
End Module&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Attempted to divide by zero.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serializable Exception Inheriting NullReferenceException==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Imports System&lt;br /&gt;
Imports System.Runtime.Serialization&lt;br /&gt;
    &amp;lt;Serializable()&amp;gt; Public Class NodeNotFoundException : Inherits NullReferenceException&lt;br /&gt;
        Dim st As String()&lt;br /&gt;
        &amp;quot;Constructors&lt;br /&gt;
        Public Sub New()&lt;br /&gt;
            MyBase.New(&amp;quot;No such node found in your collection.&amp;quot;)&lt;br /&gt;
        End Sub&lt;br /&gt;
        Public Sub New(ByVal message As String)&lt;br /&gt;
            MyBase.New(message)&lt;br /&gt;
        End Sub&lt;br /&gt;
        Public Sub New(ByVal message As String, ByVal inner As Exception)&lt;br /&gt;
            MyBase.New(message, inner)&lt;br /&gt;
        End Sub&lt;br /&gt;
    End Class&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Set Exception HelpLink==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Option Strict On&lt;br /&gt;
 Imports System&lt;br /&gt;
 Class Tester&lt;br /&gt;
     Public Shared Function DoDivide(ByVal a As Double, ByVal b As Double) As Double&lt;br /&gt;
         If b = 0 Then&lt;br /&gt;
             Dim e As New System.DivideByZeroException( )&lt;br /&gt;
          e.HelpLink = &amp;quot;http://www.vbex.ru&amp;quot;&lt;br /&gt;
             Throw e&lt;br /&gt;
         End If&lt;br /&gt;
         If a = 0 Then&lt;br /&gt;
             Throw New System.ArithmeticException( )&lt;br /&gt;
         End If&lt;br /&gt;
         Return a / b&lt;br /&gt;
     End Function &amp;quot;DoDivide&lt;br /&gt;
     Shared Sub Main( )&lt;br /&gt;
         Try&lt;br /&gt;
             Dim a As Double = 5&lt;br /&gt;
             Dim b As Double = 0&lt;br /&gt;
             Console.WriteLine(&amp;quot;{0} / {1} = {2}&amp;quot;, a, b, DoDivide(a, b))&lt;br /&gt;
         Catch e As System.DivideByZeroException&lt;br /&gt;
             Console.WriteLine(&amp;quot;DivideByZeroException! Msg: {0}&amp;quot;, e.Message)&lt;br /&gt;
             Console.WriteLine(&amp;quot;Helplink: {0}&amp;quot;, e.HelpLink)&lt;br /&gt;
             Console.WriteLine(&amp;quot;Stack trace: {0}&amp;quot;, e.StackTrace)&lt;br /&gt;
         Catch&lt;br /&gt;
             Console.WriteLine(&amp;quot;Unknown exception caught!&amp;quot;)&lt;br /&gt;
         Finally&lt;br /&gt;
             Console.WriteLine(&amp;quot;Close file here.&amp;quot;)&lt;br /&gt;
         End Try&lt;br /&gt;
     End Sub &amp;quot;Main&lt;br /&gt;
 End Class &amp;quot;Tester&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;DivideByZeroException! Msg: Attempted to divide by zero.&lt;br /&gt;
Helplink: http://www.vbex.ru&lt;br /&gt;
Stack trace:    at Tester.DoDivide(Double a, Double b)&lt;br /&gt;
   at Tester.Main()&lt;br /&gt;
Close file here.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Throw Exception out of a Method==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Option Strict On&lt;br /&gt;
 Imports System&lt;br /&gt;
 Class Tester&lt;br /&gt;
     Shared Sub Main( )&lt;br /&gt;
         Console.WriteLine(&amp;quot;Enter Main...&amp;quot;)&lt;br /&gt;
         Console.WriteLine(&amp;quot;Enter Run...&amp;quot;)&lt;br /&gt;
         Func1( )&lt;br /&gt;
         Console.WriteLine(&amp;quot;Exit Run...&amp;quot;)&lt;br /&gt;
         Console.WriteLine(&amp;quot;Exit Main...&amp;quot;)&lt;br /&gt;
     End Sub&lt;br /&gt;
     Public Shared Sub Func1( )&lt;br /&gt;
         Console.WriteLine(&amp;quot;Enter Func1...&amp;quot;)&lt;br /&gt;
         Func2( )&lt;br /&gt;
         Console.WriteLine(&amp;quot;Exit Func1...&amp;quot;)&lt;br /&gt;
     End Sub&lt;br /&gt;
     &lt;br /&gt;
     Public Shared Sub Func2( )&lt;br /&gt;
         Console.WriteLine(&amp;quot;Enter Func2...&amp;quot;)&lt;br /&gt;
         Throw New System.Exception( )&lt;br /&gt;
         Console.WriteLine(&amp;quot;Exit Func2...&amp;quot;)&lt;br /&gt;
     End Sub&lt;br /&gt;
 End Class&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Enter Main...&lt;br /&gt;
Enter Run...&lt;br /&gt;
Enter Func1...&lt;br /&gt;
Enter Func2...&lt;br /&gt;
Unhandled Exception: System.Exception: Exception of type &amp;quot;System.Exception&amp;quot; was thrown.&lt;br /&gt;
   at Tester.Func2()&lt;br /&gt;
   at Tester.Main()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Use properties Message, StackTrace and InnerException==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Class Tester&lt;br /&gt;
   Shared Sub Main()&lt;br /&gt;
      Try&lt;br /&gt;
         Method1()&lt;br /&gt;
      Catch exceptionParameter As Exception&lt;br /&gt;
         Console.WriteLine(exceptionParameter.ToString())&lt;br /&gt;
         Console.WriteLine(exceptionParameter.Message)&lt;br /&gt;
         Console.WriteLine(exceptionParameter.StackTrace)&lt;br /&gt;
         Console.WriteLine(exceptionParameter.InnerException.ToString())&lt;br /&gt;
      End Try&lt;br /&gt;
   End Sub &lt;br /&gt;
   Public Shared Sub Method1()&lt;br /&gt;
      Method2()&lt;br /&gt;
   End Sub&lt;br /&gt;
   Public Shared Sub Method2()&lt;br /&gt;
      Method3()&lt;br /&gt;
   End Sub&lt;br /&gt;
   Public Shared Sub Method3()&lt;br /&gt;
      Try&lt;br /&gt;
         Convert.ToInt32(&amp;quot;Not an integer&amp;quot;)&lt;br /&gt;
      Catch formatException As FormatException&lt;br /&gt;
         Throw New Exception(&amp;quot;Exception occurred in Method3&amp;quot;, _&lt;br /&gt;
            formatException)&lt;br /&gt;
      End Try&lt;br /&gt;
   End Sub&lt;br /&gt;
End Class&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;System.Exception: Exception occurred in Method3 ---&amp;gt; System.FormatException: Input string was not in&lt;br /&gt;
 a correct format.&lt;br /&gt;
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer&amp;amp; number, NumberFor&lt;br /&gt;
matInfo info, Boolean parseDecimal)&lt;br /&gt;
   at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)&lt;br /&gt;
   at Tester.Method3()&lt;br /&gt;
   --- End of inner exception stack trace ---&lt;br /&gt;
   at Tester.Method3()&lt;br /&gt;
   at Tester.Main()&lt;br /&gt;
Exception occurred in Method3&lt;br /&gt;
   at Tester.Method3()&lt;br /&gt;
   at Tester.Main()&lt;br /&gt;
System.FormatException: Input string was not in a correct format.&lt;br /&gt;
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer&amp;amp; number, NumberFor&lt;br /&gt;
matInfo info, Boolean parseDecimal)&lt;br /&gt;
   at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)&lt;br /&gt;
   at Tester.Method3()&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>