["n","#Z_WTry, CatchThrow statementFinally","YGXkKXXG; G;1XXYSub GW()XYYKTryKXYYY' Try to divide by zero.XYYYKDim GH As IntegerG_1 / Integer.Parse(Kk0kK)KXYYY' This statement is sadly not reached.XYYYKG%KkHikK)XYYKCatchK ex As ExceptionKXYYY' G. the message.XYYYKG%ex.Message)XYYEnd TryXYEnd SubXXEnd G;XXKXXArithmetic operation G:edGSan overflow.KXXG; G;1XYSub GW()XYYTryKXYYY' Throw a serious exception.XYYYKThrowK New Exception(KkMega-errorkK)XYYCatch ex As ExceptionKXYYY' G. the exception's message.XYYYKG%ex.Message)XYYEnd TryXYEnd SubXEnd G;XXKXXMega-errorKCode that causes NullReferenceException: VB.NETKXXDim KGHK As G=G_NothingXG%GH.LGO)XXKException text:KXXUnhandled Exception: G7.NullReferenceException:XObject reference not set to an instance of an object.XXKCode that avoids exception: VB.NETKXXDim KGHK As G=G_NothingXKIf NotK KGHK Is KNothingK ThenXYG%GH.LGO)XEnd IfKXXG; G;1XXYSub GW()XYYG%0)XYYKTryKXYYY' Reached.XYYYKG%1)KXXYYY' An exception is thrown.XYYYKDim s As G=G_NothingXYYYsG_s.ToUpper()XXYYKCatchK ex As ExceptionKXXYYY' Reached.XYYYKG%2)XXYYKFinallyKXXYYY' Reached.XYYYKG%3)XXYYKEnd TryKXYYG%4)XYEnd SubXXEnd G;XXKXX0X1 [in Try]X2 [in Catch]X3 [in Finally]X4K","H-AfEfefCBAc(CC| H646476}X G746}XCEEP4FF4747(CC(CC H696H9}XC3","Exception."," Bad things happen. In VB.NET programs, many things can go wrong. Sometimes these errors are our fault. Other times, they are unavoidable, inescapable yet potentially harmful. With Exceptions, we isolate and handle these errors.","Example."," To begin, we write a small program that tries to divide by zero. We use Integer.Parse here to avoid a compile-time-error. The runtime itself throws the DivideByZeroException. In the Catch block, we display the exception Message. ","The Try block is required to use a Catch block. If we use no try nor catch, the exception is still thrown.","But: ","If we do not use a Catch statement, and none is found in calling methods, the exception will cause the program to terminate.","Throw."," An Exception can be triggered directly by the .NET Framework. But often code will use an explicit Throw-statement. We can specify a message in the Exception constructor\u2014a descriptive string (not \"mega-error\") is advisable. ","NullReferenceException."," Strings are prevalent in VB.NET programs. They are a reference type, which means they can be Nothing (null). If you call a method on a Nothing string, you will get a NullReferenceException. You could catch this, with the Catch statement. ","However: ","It is more efficient to simply check for Nothing, with the \"Not Nothing\" construct. More information on Nothing is available.","Nothing ","nothing-vbnet","If Then ","if-vbnet","Performance."," Performance is a critical consideration when using exceptions in VB.NET programs. The only fast exception is one that never occurs. An exception that is thrown is slower than most other CPU-based operations. ","So: ","One strategy is to reserve exceptions for \"exceptional\" conditions, not normal ones. If a value may be zero, check it before dividing.","However: ","If an important file is missing from your program's setup, an exception is warranted. This is an exceptional condition.","Finally."," Try try-catch construct optionally has a third part. The finally-statement can be used after the other parts. It is always run, except when the program terminates for external reasons. It is run after exceptions are thrown. ","Finally statements are run after catch blocks are reached. It can be used to execute cleanup code.","The Using-statement, which ensures cleanup of resources, is implemented with the Finally statement. It is a form of syntactic sugar.","In this example,"," all five Console.WriteLine calls are reached. An exception is triggered in the Try-block. And then the Catch-block's statements are executed. And finally, the Finally statement is reached. ","The program itself is not useful. But the pattern is helpful in many programs. We think of concepts, not concrete examples.","Summary."," Programming is complex. With computers, many things can go wrong\u2014some problems are inevitable. Exception handling isolates error checks in our code. This leads to programs that are still fast, but also simpler to read and maintain."]
$/9j/2wBD?cHBwcHBwcH.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.n/wQARCACkAPADACI?RE?hEA/8QAY?B?MBAQEBAQ)))ECAwQFBgcIE?CAgADAwYGDgkFAQ)?AQIDBBESBRMhIjEyQVFSBhQjM0KyNENTYWJxcnOCkZOiwtIVFmOBkqGz4vBEVHSDo7H/2gAMAw?AQAC?A/AP6R))))?B?JzIBABw4zGLDJRitVkl9Ue9Iwh4/ZCNsbqpal0dPJ/i0Exy/SN+pe1x0593kaymfiFvX4vY/spfkMs83x6J2xiowhCMfK7veeU9s/ZnXhcS7XOucdFtfSj+KJ2nlSae0KHHi3XLVl3eXoPSzLxZhbBJw5OjXXvC4K5k5ljLIknMgAgkEEg))))AgAkEEZgEgq2Q2AWIbIzKtglItmRmUzOe+7dVynlqy08M9PpFW8i8YuTyRXE4feOF@aLYdGX4ZHNN46yEq5VVcpcZauT65m9o/s/vf2EfpD4H3v7DNyh3jtjVelDOvXo/wA90OvCYZYfOUnqnl9Ue7E7szxXtL9n9/8AsPTUi0WuYyuruz1z9M6MyUzDUWTLZmLibJlkzPMsmSUaLkoqiSShI)))?IDBVsANkNhso2AWzKtlGyuYBdshsycirkQXSLuRx4x50T+j60DbNnNict1P6PrFJcx00rlwPHbIzNWl2DJdiOfI9dSOeR9HGXA8GSXYeuvjLw4HPieVoOpSNEzkTZrFmiZxSgdaZomc0WbJl0YSNkyxRMuSZMlAgkkq))ACCSGAQyrZLKNgFWyjZMmYyYAbKaijkUb7AC7lm+AzM88irZVmkTRs57s5Qkl8Es5GbkyjOqvnzON1Wdn84kbuf+OJ0MoZtHdGTZju59n8zuTOYupPrIQknI64s1icsWmdES6OaayOiLOiJhFG0WaI5pmyLozTNEWOdkkkEklQ?ADOdkYc7MfG6+1EZosoTfNE6gcvjdfah43X2oakTurO6dTIMI4mEuCyNs8+IzzKuLjzlWYW2wqi5Saiib7oUwlOT4L+Z81ddO+bnJ/EvRRWU9JvRh3dxfRO23aEm2oLSu2XSOR33SebnL9z0kUVwsnpk3HsS6z0txVFcIp/HyiqzlxNrHTQ9CiearbF6cn8b1G8LppcpZm7qg30Uvi5JjKrs+plsmjBzrl6JqpprNMOWRyNuPFcGaRlmv/AKTmNORpmVzBBRm8GQyhfIqUaOuMihZc5GRpFZ8eorkXckXhmdcObM50jpjwRdI5rJZm8XxN0csXmjpizRHLM1RojNGiLGDLEkIkkq?AfKeEsmqKl1b6PqzPjHZxPsPCbzNfz0fVmfEvnIRefPD5s23g3hiCSh04axvG4TL/cVf1IH6rV0Efk2F9mYT/kVf1IH6vV5pEdZf2v8A7DxNpXOy3dZ8mv1iuEwiuhOc88nwjl3u8cNknOyc36UpM+lprVdMILuxMYrVObZ6F7eHoqrj0j56dc6ZuD4NczXX8I76bt5HS+kuf3zqxWHjdHskuMWeKtdc+uMost0GYtrE18elA9XLgzPItXYrILqfWiWjU42mnkzjtjm9S6jGDykuxnZJZ5++cL6yjN6+KyOvI8rb22KNgbIxu2L4OdWEjXKUIyjCU9dkKtMZT5GvleSr9ttPWjzJ+8ebtfY2D25hYYTFO6MK76sTB0XSqkrcPLXVKUehdCuflN3iK7Kt7CFu68mCU2cNHhLs2ezrNp4tWbMorvjh5zx270bycYThKN+GuxGFups3vkr68RZVvfJb3ent0W4fF014nD21X02R1V3UzjbVZHvRthyJwPlNreC2Px2ztkbNp2nZOGCx3jt1uLjHxjEyqlbbhY73DQw9FMMPdLebuvD7q3c0eb8pvPlNq7I8INn+DXgzsunAX23YOeL2jtOzAYvE+Xvw+Gxtu739N2H2jvtp4y3/AE9fkrfsiMkWVjR+t7stpPza7b+1tmbO8DNmV4mHjO0sJibsXtba+Gs8lXgMJ4xbvcLvsPOeJs837I81De+U3m9Omnw9jXsDwb2vjMBZvtrxxL8Wpuw1W7jhY2224mPjl2Hh4tZTVv6t5iPNXUec3hGktvj9BRsn9RwYLF07QweFx9Dk6cVRViKdcZQlu7YwnDVGfLhPRI7oAOWZtDnyOmJzRWTOmJdGMmbI0RnE0RJiyyJIRJJ?AB8j4TeZr+ej6sz4l859t4TvKitvm30fVmfDuccyEXs54fNlgU1x7Rrj2klDowvs3Cf8ir+pA/V6vNI/JsI08bhEv8AcVf1IH61V5tEdZf2v/sPkWsm/jyPq4NShGS5mos+extTqxNnDhN619M9XZ9yspUG+VXw+j6BjXwc0ehjFvaarl/m8OySPNxeG3i1xXLX8z1GZyRs1medGTi80eBXOVbX80ejFxnHUuYpisPwdsV8pfiOSm11y48U+dFE9LyZ0yiroa49I7GuB5cnnKTXbI9K6yManNNPUsonnQi5zjD3yZPqIojwnNnbBZRj8US3E2USMuonIx1GYzJyM5MZFtRzY3BYDaNPi2NwuGxlWcZbrE0V4irVDoS03QsgeDtzwS2Tt6MVerapV4K/Z9Donoqw9GIjonuqJ+QhPkx8pu97yIVearPom+JOYGaIw9cqaKKZWStlXCuDtsUddkoR0apaORrs/ZnVHg80ZI0TSWbaS98ZDUdMWdMUcUbIZrlx+uJ0xurXPOP8UQVafdOlF0c6xFPfh/FE2rshYs4yjJLhnF6iSrTXPE1RJBlZiaKfOW11/LnH8ZJU2BlXdVd5ucJ/IlH8BqAefjtn4fHQULoaoqWpLVKPK+h8o8r9Wdne5P7Sz859KCMi6m0fNfqzs73J/aWfnH6s7O9yf2ln5z6UDIbx92v7M+ep8Hdn1WQsjU1KuUZxe8s4ShLXD0z34rhkWAyI1NnnY/C7+vVFcuHGPv8AwT5+qydNinHPOPBp+rI+wPMxmz43ZzhybOvuzM5w6zsw2IUVubOiXw+LqvS46Z9cPS/vOnJHy1lNlMtM4yj2P0X8mReOKxEFkrJZe/yvXIVuXBl54FS41y5J9I0mjxcXTGqeqLWUvRz5SOd4vEyeTslk+zk+oRGM7JZRUpN/SEpqXMTVhp0vOUjOTeaTby6l2HpYTDuMd5JZOXMuyJrRgdLU7Mm1zR9FHoZFoR62Y4i5NbuBztGbR0NGMjQ5DnkYtHS0ZtEDMwGRpkMgMyEil65C+V+E6EjHEp7uPyvwzIfMXr85A4ovjn2FsyEskQYs9OKKznwyPY2Q26Jt+7S9WB4c3znt7H9j2fPS9WBNfTIxayw32ZjtbaFtUo4PD57+xcXFapQj3Y/DPL2ZgcLj95K6y2V+fKhnp5Pe78zswCVu2cfOfF17xRz6uVCHqFtp4OzC2raWF6Wflo+vLT3PdTc8ki/YcqVvsHbZGyHoyfqyO/ZO0JYuE67OTfV0+GnOPe0nVgsZXjaI2x+nD0oSPFglV4Qy0c1kZOX069frxAPq))AC.AZyhGSaaTXY0c0sBhpPN1R/dqj6h2ghpPnLRnOPRloOBbPwy9rX73KR1RrhBclKK7EtJoMgk@TnLpS1lCuRpkVaJKmMkZNHTkZtAHK0U0nVkUcQDm0jSb6SV?yUTDFLKuPyvwzO5RMMTTO6CjBxTUs+URLmL1tKyDZ47M5Ph77O17OxL5pVZ/HL8hm9lYtvp1Z/Kl+QwcZ909OF1K57DhfMz3djex7PnperA4P0Ri36dX8UvyHsbOwtmEpnCbi25ylyXKUdOmH5S0ItPiUxV1M6coy5R42NU9mbSjj4xe5t6f44/d3h9DTiKMTWp1zjOLXHLq+DKJrbVC6Eq5xjKHdyPBt8HqtWum6yr92vL79czY8w48VCWx8ZHE0uO5tfKpz+7p/pWHRsiq3E4q/adi069Ua/wC35uEd2bUbAw8Ja7rJ3fcz+V6f/oe9GMYRjGK0rLmS0xQBY))))AEENFiACjRDRcjIAzaKtGrQyAMchka5DIAzSLZFsicgCuRZInIlADIkEg))))))?AEAkAFSC4AKAuAChKL?gEg))?:Z%iVBORw0KG;)NSUhEUg?AG4?ACCAgM?ADasxWR)DFBMVEX/6Nn:/+VlZX29va5ksB5)SElEQVR4AWPACZj/f0DmjkqOSjKtQgcLyJccZiEE9SOmP8mXHEaBMBoIo4EwGggryJccvvVKKAogTnJUclRyVHLklgmjkqOS?LWyrsxEHLD)AElFTkSuQmCC%iVBORw0KG;)NSUhEUg?ANI)zCAM?ADVX6ZX)GFBMVEX::/tbX+cnL+i4v/ysr/6ur+XFz+SkoPXWJr?ACnElEQVR4Xu3Z3W6jMBCGYc+fe/93vOqCM6UvTARRCZGYsx54/D2yseWm7an4mkvaR9VNun65mHwyiRzk/WiSF3lv0k26STfpJl25bpJPI+S/zySeA@s6u1VApGpvYq8Ivl6Ur5Fkp4DjAib9d/csOzXV1GjX5YBb/UWkTHhUVLoAq6xRfKcrIokDGCBzCRRfHCVYhZl9dgiMS1NaLe2oD6o66S5hR4kOSPYFkmKnhBxcpK0JNlBkm7ZSYIoQ0HEipXZe3koyF5SUQZSVs1PUY3vs6k4jV8lSbTmmacidRnfN78m+X3MiaVJVuhR3UG++17iIafAk2QZHnsnOo8DSdNKS69IsZdEEceRJNhisVgkpnGMTWh9C7T9JF5ET0nG+J6kXu9G3Ufqx0nBLW4gIZST5MvsnCow2hYIX5BsNwmRKhL1wTlkY1pjnFjidYEwdjn+uLCaJHUDhXybmiReU3oiKWrSr0OQcayBj+8yP0k/mcRicliVPePhSzNmez9JQBrFzejLo+pntHZlktYkSZJnn34Bkjwn0S+49wZJP40USVq8ILKPXJrUSWo5k/8kOUjXPh6UK6ejvT2IMnAXPsQjSWw61tB1/G3XITE543CbxhS25+IM27tJvH6ypCL5RLEBt7lNvwRJ0RNPK2Z0Hdo+UeZkegUSH0Z8czCADO2YRhABTc4jOR4sWDxu0z5pk96RC4+hE0i4f3r1ek9plgwkkqO3xhkkpu8O0dbDMLVWkSx7y4RyEfW/JrWOf3ppKuHP6qlPJHc1689JnJezk5QhgMTOO41EPUsqvmO0guTnk2qTQB9cEil/5pIzSTRRxGL+qAfIm0jNe0rKc1cZTEtSCzmVVP+uWa9njoQSveWRUUTaeRUyh+uvTfsPwAJfiGAaYTk)ASUVORK5CYII=%iVBORw0KG;)NSUhEUg?ANY)3C)ABVkOvV?ABSUlEQVR4Xu3Y4WnEMAyGYW+sfbSBlvh20Bbawq3TFCVFuDShJDJ6f4b7HB7IEe5afyKjIOjILk7Py2dY2oIYI7s8TcUqVrGKVSyTLf6M/sDyKfv0aVaczljztFj/VbGKVSyFiKqN8rKwvwb0iyHU9kgA6ATwvWTYaHL5ARYdwdyO0fw2FHwuuPw4S8hJ7tLULIK4J3BlZQ1V7LLMrBaGUUrWNPJBbhYR/WRpapa7JXgKk7L8FWy9U7BIy/InzlyalRU+cAux5CCgNVhOXonlX6wlWfZSVrGKVaxiFatYxSqWthVZ1pZk0WIs9VluFp9/f/oqNwtngHajtgDLDgIG2FG/LnULIz4cMsLIRpMpoil8eofVL/8hLO2Xdtzlqd1hyZqsHmqEsrMQHpue1TlQpWbFdyEBwPlZ/q7yI+UNrH43E9piqKpZf0Uf/uSX7MnWyF8)ASUVORK5CYII=!B%iVBORw0KG;)NSUhEUg?AHw?AB8C)ACOdYti?ACfUlEQVR4Xu3bsW7rMAyG0fv+e9+AG0eOHDVr4qpNgAeO2gQI0G1LJEaLIPFg+wcafy9wYERmGMP59wEMjVuFZN/4MiEtF76pC7/wC7/w7tVyUhFm+oxZNFttR+PdS1amx3Gu4yi8lST0IrZ+DG60JS6H4IW2lfoBuNPGtO+PN1oTTdlKqcvivtRiSX7o++PjW01WvT+6D6quuu2OTyttzCe1O88dMOHspmcAftd5APCpFDkCd4oyAp8SuELwHDhD8ErRQOCNoobAO0X+dvjAXnnUoAcOeqsBh4xMAD4YONsLRQsAv104TwCeKTIAXijicT5eKaI6H+CA9fEcfF2cdZyMt0y30pjn4aO7KUUxXg7EGz1JwkDgbGOicPY5IXikZWDwiK1j8IjLgfjwXxX79XgsjZMnXDNZdT3/4YDrXU+gr9SonI9PZ4q4Ax8OkAHwdZkZAHwKRY7AK0WGwAcHrgh8psAZgheKBgJ3ihoCb0i8U+QIfLwt3t/2wC3I+9yQEy4BZ/ugKCPwQlEF4EMo6gDcKFLkAlmQq/P4Oz8aGierPp7Qi95tHTvi69QUzVa9jV/wcBO6x23uixf6EYumnLN9lZPQjwLaETfaXJ1742krzT53x3Wjnft8hL/uGd6rJX5Jpzbnnvj215O09OAe4cmfZYFvaDQvlpMK397M0pTLOgMe4vbqzbF5SBd+4dWSiogmPx9vRCyqQkTpfNxbj6nFVHAHrpDi8EaMxAWHOykOV9yBc6U8Abh8xsRlInD9ikgcgEe9EPmbDplO1GH4FGrAK+f+Tp+5e7+f9no2rusyUc5fJkpWZRHN7dpeD8MvXPKz0sfHgX8NhQXG/wOMvRhmEaG4n)ABJRU5Er@ggg==%iVBORw0KG;)NSUhEUg?AL8?ABaCAM?ADevXcF)MFBMVEX::H5s6438CHy5dmwHyl17B0xIfb7t/l8+iX0aSMzZru9/D3+/hGtmP4/Pnx+PMHek6e?AC1ElEQVR4Xu3aC27bMBBFUc6XXyf7323jItGoCup4LLLuAL4rOIAFPpBw+irXyy5MsQI2ezh/R9PH82cxdkA/GXqtf2QAEdKPmiCUSf7Lv/Fj00MNRiC/6Pdaiem3cnA/ldh+rRP9/AS/wix/hfQMv0zxM/aUnuLXcd5f4QpY7a8IuVwBBWjiEcTYU1rvL3tAIfNDmtPRvzQwv0T09+D+1DZ/C+kX3Xr5X353deNTSH/w8yebHyP6Jfb+glo9nL+jWpLC+EF+13RfDuTX72EK7ccU2U/gwFX6rP03fnH43+grOe8vGaQ2/qhVgeL1W7Xc68+bH076c+VDit3p9z9gweYvJ/1gcAt8fv8Dlmz+txV+bsPld9/fd5:Ej+3dG8dmvsH6JsfF/nZcZgMVKv7Pn9Y5TfIz43m/IBw8/dVfobHtgBd60VpmZ8c/mJ+8a3XFH8TgJwzoPKucvoC6V8vvz9DNsYQtmDZA4StV559f6nmxxX+43rN9mfz12X+jV/n319O+13rNd/fbAEe8pNrveb7K285/LT5xbNeZbnff/471+u9fPZMP5offetlP8YT/Z3MD871koOfti4W21zP8ec9aFS1unO96sF/uRX97Ke7zh/VipDzldOB1Gqe9Xq3LXD4Z5z/+rfAuV5vk/35pL8716tM9qP58QE/utZrgZ/MD35/G971grl+YKu7/VR8d6/5frrz/nWD77t74VQ/sAVev/QHXg5lpn+o8XXcPsP1UL1y/HevZv7zVbbgrv+v1iudBMFm17VeiSb6gS0daU30x8P/+0R/4V05LffLNfPLR/kEfxBbklZFt4ITfmFLRzg/HL6eYP6ibGEK529stRHOj2xpSdH8mXdBiuYfypakcP7qGN65FbNPOzqj+QvvwhTNP4itlsL5hS3t4fxwODqD+fvh6Izmb2zRiOfnXZD/bITxWyum4OV/+dcX3P/yv/wv/y/+1mUuPXlKKg)BJRU5Er@ggg==#!