Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 688|回复: 0

VB.NET之错误异常处理

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-4-27 10:01:18 | 显示全部楼层 |阅读模式

        相对于VB而言,VB.NET中引入了很多特色。当中最吸引我的就是引入了结构化异常处理。

    尽管VB.NET仍然支持OnError Goto类型的异常处理,可是这样做并非非常好。相比而言,结构化异常处理更加灵活,使用更加方便。我们应该充分利用VB.NET提供的结构化异常处理。

        在VB.NET结构中的异常处理分为3个语句块。

       (1try块负责错误代码的捕获

       (2catch进行错误的处理

       (3finally负责错误处理后的兴许工作如:释放对象、清理资源等的工作。

        使用这些区块的目的是同意执行Try模块中被保护的代码,对catch,对catch区块中可能分不论什么错误做出反应。而且在随后的Finally块中还有清理代码。不管Try代码块是否有发生错误,Finally块的代码都会被执行到,这样能够非常方便的保证分配的资源会被释放,而且能够方便地提供那些不论错误控制细节怎样,都须要被执行的各种功能的函数。可是,Catch语句块不一定执行,假设Try块内的代码没有错误,没有抛出异常的话,Catch语句块中的代码是不执行的。而是跳过Catch块直接执行Finally块中的清理工作。

    反之假设遇到了异常Catch语句块中的处理工作就要进行。

        以下举个实例:

       Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim file As System.IO.FileStream, msg As String
            Try
                file = New System.IO.FileStream("D:\readme.txt", System.IO.FileMode.Open, System.IO.FileAccess.Read)
                file.Close()
            Catch ex As Exception
                msg = String.Format("{0}ralsed exception :{1}", ex.Source, ex.Message)
                MessageBox.Show(msg, "My App", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Finally
                If Not file Is Nothing Then file.Close()
            End Try
        End Sub
          这个样例是在 D盘找到一个readme.txt文档。假设我们在D盘中没有建立这个文档,那么就会运行Catch语句,会弹出出错的来源和原因:

        

        假设我们在D盘建立一个readme.txt文档。那么就不会有发生错误,那么不会运行Catch语句。跳到Finally中运行。

        在如今,开发者经常忽视了组织有序。考虑周到的异常处理的重要性,经常导致用户的不便和失败。

    我们将来假设要做合格的开发者,异常处理对我们来说是至关重要的。

    是.NET平台重要的安全机制,将错误代码的接受和处理的进行了完美的分离。理清了编程者的思绪,也帮助代码增强了可读性,方便了维护者的阅读和理解,并且还提供了处理程序执行时出现的不论什么意外或异常情况的方法。



     

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-12-22 21:25 , Processed in 0.064436 second(s), 27 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表