On Error Resume Next by se ve VB.NET používat neměl. Je to přežitek ještě ze starého BASICu, těžko říci, proč jej ve VB.NET stále drží. A navíc právě On Error Resume Next vede k velmi prasáckému stylu programování - jednoduše ignoruje všechny chyby.Ve Visual Basic .NET je dnes doporučenou konstrukcí Try..Catch. Funguje to velmi podobně, pokud za slovem Try nastane chyba, provede se část Catch. Výhodou tohoto systému je, že můžete rozhodnout, kde se chyba zachytí a případně použitím slova Finally provést další příkazy nezávisle na tom, zda-li chyba nastala nebo ne. Pokud byste chtěl pomocí staré konstrukce nějak reagovat na nastalou chybu, není to možné (při Resume Next). Je možné sice provést On Error Goto chyba, ale příkaz GoTo, který skáče v kódu na označené místo, je dalším přežitkem, kterému bychom se také měli vyhnout (kromě opravdu ojedinělých případů). Shrnul bych to asi takhle: Používejte Try..Catch, je to doporučený postup. On Error... není čisté řešení na .NET platformě.
|