异常处理的执行顺序

背景

在B层第11行代码抛出异常之后,B层本身不做处理,而是让U层去Catch然后去处理。我就不明白那么B层第12行代码还会不会执行呢?

Demo

代码结构

具体代码

Module1

Module Module1

    Sub Main()
        Dim BLL As New B.Class1
        Try
            BLL.Test()
        Catch ex As Exception
            Console.WriteLine("已经捕获异常!")
        Finally
            Console.Read()
        End Try
    End Sub
End Module

Class1

Public Class Class1
    Public Sub Test()
        Dim s As String
            s = "1"
            Console.WriteLine(s)
            Throw New Exception
            s = "2"
            Console.WriteLine(s)
    End Sub
End Class

效果

时间: 2024-10-01 08:10:47

异常处理的执行顺序的相关文章

java中try{}catch{}和finally{}的执行顺序问题

 今天我给大家讲解一下java的的错误和异常处理机制以及相关异常的执行顺序问题.如有不足的地方,欢迎批评指正~ 1.首相简单介绍一下java中的错误(Error)和异常(Exception) 错误和异常的介绍: 在java.lang软件包中有一个java.lang.Throwable类,这个类是java中所有错误和异常的超类. 在java中错误和异常的继承主要有两个: 分别为Error和Exception 这两个. Error:         是java中所有错误类的父类,就是jvm出现错误,

异常处理 try...catch...finally 执行顺序, 以及对返回值得影响

异常处理 try...catch...finally 执行顺序, 以及对返回值得影响 1.不管有没有出现异常,finally块中代码都会执行:2.当try和catch中有return时,finally仍然会执行:3.finally是在return后面的表达式运算后执行的,所以函数返回值是根据返回类型在finally执行前后确定的:4.finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值. (一)   一般情况下,程序执行到try里面的内容一定会

Asp.Net WebAPI中Filter过滤器的使用以及执行顺序

转发自:http://www.cnblogs.com/UliiAn/p/5402146.html 在WEB Api中,引入了面向切面编程(AOP)的思想,在某些特定的位置可以插入特定的Filter进行过程拦截处理.引入了这一机制可以更好地践行DRY(Don’t Repeat Yourself)思想,通过Filter能统一地对一些通用逻辑进行处理,如:权限校验.参数加解密.参数校验等方面我们都可以利用这一特性进行统一处理,今天我们来介绍Filter的开发.使用以及讨论他们的执行顺序. Filter

WEB API 系列(二) Filter的使用以及执行顺序

在WEB Api中,引入了面向切面编程(AOP)的思想,在某些特定的位置可以插入特定的Filter进行过程拦截处理.引入了这一机制可以更好地践行DRY(Don’t Repeat Yourself)思想,通过Filter能统一地对一些通用逻辑进行处理,如:权限校验.参数加解密.参数校验等方面我们都可以利用这一特性进行统一处理,今天我们来介绍Filter的开发.使用以及讨论他们的执行顺序. 一.Filter的开发和调用 在默认的WebApi中,框架提供了三种Filter,他们的功能和运行条件如下表所

Java try、catch、finally及finally执行顺序详解(转)

1.为什么要用finally先看一个没有finally的异常处理try-catch语句:假设count为要使用到的资源,并且用完要求释放此资源.那么我们可以把释放资源的语句放到try-catch后执行,当前的程序不管是在执行完try语句块还是catch语句块,都会顺序执行到下面释放资源的语句. int count = 0; //初始化资源 try{ count++; if(count == 1) throw new Exception("Exception in try"); }cat

try、catch、finally 执行顺序

在Java程序中,异常处理是重要技术,当处理块中包含return语句时, try.catch.finally的执行顺序如下: 1.无论是否出现异常,finally块中代码都会执行: 2.当try和catch中有return时,finally仍然会执行: 3.finally是在return语句执行之后,返回之前执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,不管finally中的代码怎么样,返回的值都不会改变,仍然是之前保存的值),所以函数返回值是在finally执行前就已经确定了:

iOS程序执行顺序和UIViewController 的生命周期(整理)

说明:此文是自己的总结笔记,主要参考: iOS程序的启动执行顺序 AppDelegate 及 UIViewController 的生命周期 UIView的生命周期 言叶之庭.jpeg 一. iOS程序的启动执行顺序 程序启动顺序图 iOS启动原理图.png 具体执行流程 程序入口进入main函数,设置AppDelegate称为函数的代理 程序完成加载[AppDelegate application:didFinishLaunchingWithOptions:] 创建window窗口 程序被激活[

修饰符-包-内部类-代码块执行顺序

1.访问权限修饰符     从大到小的顺序为:public--protected--default--private     private--只能在同一类中使用;     default--不用写出来,默认不加.可以被同一包中的类使用     protected--可以被不同包的子类使用     public--可以被不同包的其它类使用 2.各种修饰符的修饰对象(可修饰哪些:类/接口/方法/属性)(多个修饰符连用是可以没有顺序的!)     1)访问权限修饰符:public/default--

NAT与ACL执行顺序解析

防火墙数据包处理流程图 ACL与NAT的顺序不是固定的,各厂商数据流先ACL或先NAT不一. 引用<浅析ACL与NAT的执行顺序>-张少芳  一文中的结论如下: H3C 出站:先匹配出站ACL,然后进行地址转换 入站:先进行地址转换,然后匹配入站ACL CISCO 出站:先进行地址转换,然后匹配出站ACL 入站:先匹配入站ACL,然后进行地址转换(即上图所示数据流顺序) 结论 H3C设备和CISCO设备在对ACL与NAT的执行顺序处理上完全相反.由于在实际的网络中可能存在来自不同厂商的设备,因