具体方法:
-
主体形式:a方法调用b方法
- a插入数据“one”
- b插入数据“two”
-
a、b方法都可以有不同的传播级别或者不加事务注解(none):
required(rd), required_new(rn), never(nr), supports(ss), not_supoort(ns), mandatory(mt), nested(ne)
-
a和b方法都可能抛异常,对于b方法抛出的异常,a方法可以选择捕获或向上抛出
-
控制变量:
- a传播级别(father)
- b传播级别(son)
- a是否抛出异常(fatherthrow)
- b是否抛出异常(sonthrow)
- b抛出异常时,a是否catch它(fathercatch)
-
对于以上所有的情况进行枚举,得出以下实验现象:
- 是否调用了a(cancallfather)
- 是否调用了b(cancallson)
- b运行时是否可观察到a的行为(soncanseefather)
- a尝试调用b后,是否可观察到b的行为(fathercanseeson)
- 最终的数据变化如何(result)
-
实验结果:
father | son | fatherthrow | sonthrow | fathercatch | cancallfather | cancallson | soncanseefather | fathercanseeson | result |
---|---|---|---|---|---|---|---|---|---|
rd | rd | True | True | True | True | True | True | True | |
rd | rd | True | True | False | True | True | True | True | |
rd | rd | True | False | null | True | True | True | True | |
rd | ss | True | True | True | True | True | True | True | |
rd | ss | True | True | False | True | True | True | True | |
rd | ss | True | False | null | True | True | True | True | |
rd | mt | True | True | True | True | True | True | True | |
rd | mt | True | True | False | True | True | True | True | |
rd | mt | True | False | null | True | True | True | True | |
rd | rn | True | True | True | True | True | False | False | |
rd | rn | True | True | False | True | True | False | False | |
rd | rn | True | False | null | True | True | False | True | two |
rd | ns | True | True | True | True | True | False | True | two |
rd | ns | True | True | False | True | True | False | True | two |
rd | ns | True | False | null | True | True | False | True | two |
rd | nr | True | True | True | True | False | null | False | |
rd | ne | True | True | True | True | True | True | False | |
rd | ne | True | True | False | True | True | True | False | |
rd | ne | True | False | null | True | True | True | True | |
rd | none | True | True | True | True | True | True | True | |
rd | none | True | True | False | True | True | True | True | |
rd | none | True | False | null | True | True | True | True | |
rd | rd | False | True | True | True | True | True | True | |
rd | rd | False | True | False | True | True | True | True | |
rd | rd | False | False | null | True | True | True | True | one|two |
rd | ss | False | True | True | True | True | True | True | |
rd | ss | False | True | False | True | True | True | True | |
rd | ss | False | False | null | True | True | True | True | one|two |
rd | mt | False | True | True | True | True | True | True | |
rd | mt | False | True | False | True | True | True | True | |
rd | mt | False | False | null | True | True | True | True | one|two |
rd | rn | False | True | True | True | True | False | False | one |
rd | rn | False | True | False | True | True | False | False | |
rd | rn | False | False | null | True | True | False | True | one|two |
rd | ns | False | True | True | True | True | False | True | one|two |
rd | ns | False | True | False | True | True | False | True | two |
rd | ns | False | False | null | True | True | False | True | one|two |
rd | nr | False | True | True | True | False | null | False | one |
rd | ne | False | True | True | True | True | True | False | one |
rd | ne | False | True | False | True | True | True | False | |
rd | ne | False | False | null | True | True | True | True | one|two |
rd | none | False | True | True | True | True | True | True | one|two |
rd | none | False | True | False | True | True | True | True | |
rd | none | False | False | null | True | True | True | True | one|two |
ss | rd | True | True | True | True | True | True | False | one |
ss | rd | True | True | False | True | True | True | False | one |
ss | rd | True | False | null | True | True | True | True | one|two |
ss | ss | True | True | True | True | True | True | True | one|two |
ss | ss | True | True | False | True | True | True | True | one|two |
ss | ss | True | False | null | True | True | True | True | one|two |
ss | mt | True | True | True | True | False | null | False | one |
ss | rn | True | True | True | True | True | True | False | one |
ss | rn | True | True | False | True | True | True | False | one |
ss | rn | True | False | null | True | True | True | True | one|two |
ss | ns | True | True | True | True | True | True | True | one|two |
ss | ns | True | True | False | True | True | True | True | one|two |
ss | ns | True | False | null | True | True | True | True | one|two |
ss | nr | True | True | True | True | True | True | True | one|two |
ss | nr | True | True | False | True | True | True | True | one|two |
ss | nr | True | False | null | True | True | True | True | one|two |
ss | ne | True | True | True | True | True | True | False | one |
ss | ne | True | True | False | True | True | True | False | one |
ss | ne | True | False | null | True | True | True | True | one|two |
ss | none | True | True | True | True | True | True | True | one|two |
ss | none | True | True | False | True | True | True | True | one|two |
ss | none | True | False | null | True | True | True | True | one|two |
ss | rd | False | True | True | True | True | True | False | one |
ss | rd | False | True | False | True | True | True | False | one |
ss | rd | False | False | null | True | True | True | True | one|two |
ss | ss | False | True | True | True | True | True | True | one|two |
ss | ss | False | True | False | True | True | True | True | one|two |
ss | ss | False | False | null | True | True | True | True | one|two |
ss | mt | False | True | True | True | False | null | False | one |
ss | rn | False | True | True | True | True | True | False | one |
ss | rn | False | True | False | True | True | True | False | one |
ss | rn | False | False | null | True | True | True | True | one|two |
ss | ns | False | True | True | True | True | True | True | one|two |
ss | ns | False | True | False | True | True | True | True | one|two |
ss | ns | False | False | null | True | True | True | True | one|two |
ss | nr | False | True | True | True | True | True | True | one|two |
ss | nr | False | True | False | True | True | True | True | one|two |
ss | nr | False | False | null | True | True | True | True | one|two |
ss | ne | False | True | True | True | True | True | False | one |
ss | ne | False | True | False | True | True | True | False | one |
ss | ne | False | False | null | True | True | True | True | one|two |
ss | none | False | True | True | True | True | True | True | one|two |
ss | none | False | True | False | True | True | True | True | one|two |
ss | none | False | False | null | True | True | True | True | one|two |
mt | rd | True | True | True | False | False | null | null | |
rn | rd | True | True | True | True | True | True | True | |
rn | rd | True | True | False | True | True | True | True | |
rn | rd | True | False | null | True | True | True | True | |
rn | ss | True | True | True | True | True | True | True | |
rn | ss | True | True | False | True | True | True | True | |
rn | ss | True | False | null | True | True | True | True | |
rn | mt | True | True | True | True | True | True | True | |
rn | mt | True | True | False | True | True | True | True | |
rn | mt | True | False | null | True | True | True | True | |
rn | rn | True | True | True | True | True | False | False | |
rn | rn | True | True | False | True | True | False | False | |
rn | rn | True | False | null | True | True | False | True | two |
rn | ns | True | True | True | True | True | False | True | two |
rn | ns | True | True | False | True | True | False | True | two |
rn | ns | True | False | null | True | True | False | True | two |
rn | nr | True | True | True | True | False | null | False | |
rn | ne | True | True | True | True | True | True | False | |
rn | ne | True | True | False | True | True | True | False | |
rn | ne | True | False | null | True | True | True | True | |
rn | none | True | True | True | True | True | True | True | |
rn | none | True | True | False | True | True | True | True | |
rn | none | True | False | null | True | True | True | True | |
rn | rd | False | True | True | True | True | True | True | |
rn | rd | False | True | False | True | True | True | True | |
rn | rd | False | False | null | True | True | True | True | one|two |
rn | ss | False | True | True | True | True | True | True | |
rn | ss | False | True | False | True | True | True | True | |
rn | ss | False | False | null | True | True | True | True | one|two |
rn | mt | False | True | True | True | True | True | True | |
rn | mt | False | True | False | True | True | True | True | |
rn | mt | False | False | null | True | True | True | True | one|two |
rn | rn | False | True | True | True | True | False | False | one |
rn | rn | False | True | False | True | True | False | False | |
rn | rn | False | False | null | True | True | False | True | one|two |
rn | ns | False | True | True | True | True | False | True | one|two |
rn | ns | False | True | False | True | True | False | True | two |
rn | ns | False | False | null | True | True | False | True | one|two |
rn | nr | False | True | True | True | False | null | False | one |
rn | ne | False | True | True | True | True | True | False | one |
rn | ne | False | True | False | True | True | True | False | |
rn | ne | False | False | null | True | True | True | True | one|two |
rn | none | False | True | True | True | True | True | True | one|two |
rn | none | False | True | False | True | True | True | True | |
rn | none | False | False | null | True | True | True | True | one|two |
ns | rd | True | True | True | True | True | True | False | one |
ns | rd | True | True | False | True | True | True | False | one |
ns | rd | True | False | null | True | True | True | True | one|two |
ns | ss | True | True | True | True | True | True | True | one|two |
ns | ss | True | True | False | True | True | True | True | one|two |
ns | ss | True | False | null | True | True | True | True | one|two |
ns | mt | True | True | True | True | False | null | False | one |
ns | rn | True | True | True | True | True | True | False | one |
ns | rn | True | True | False | True | True | True | False | one |
ns | rn | True | False | null | True | True | True | True | one|two |
ns | ns | True | True | True | True | True | True | True | one|two |
ns | ns | True | True | False | True | True | True | True | one|two |
ns | ns | True | False | null | True | True | True | True | one|two |
ns | nr | True | True | True | True | True | True | True | one|two |
ns | nr | True | True | False | True | True | True | True | one|two |
ns | nr | True | False | null | True | True | True | True | one|two |
ns | ne | True | True | True | True | True | True | False | one |
ns | ne | True | True | False | True | True | True | False | one |
ns | ne | True | False | null | True | True | True | True | one|two |
ns | none | True | True | True | True | True | True | True | one|two |
ns | none | True | True | False | True | True | True | True | one|two |
ns | none | True | False | null | True | True | True | True | one|two |
ns | rd | False | True | True | True | True | True | False | one |
ns | rd | False | True | False | True | True | True | False | one |
ns | rd | False | False | null | True | True | True | True | one|two |
ns | ss | False | True | True | True | True | True | True | one|two |
ns | ss | False | True | False | True | True | True | True | one|two |
ns | ss | False | False | null | True | True | True | True | one|two |
ns | mt | False | True | True | True | False | null | False | one |
ns | rn | False | True | True | True | True | True | False | one |
ns | rn | False | True | False | True | True | True | False | one |
ns | rn | False | False | null | True | True | True | True | one|two |
ns | ns | False | True | True | True | True | True | True | one|two |
ns | ns | False | True | False | True | True | True | True | one|two |
ns | ns | False | False | null | True | True | True | True | one|two |
ns | nr | False | True | True | True | True | True | True | one|two |
ns | nr | False | True | False | True | True | True | True | one|two |
ns | nr | False | False | null | True | True | True | True | one|two |
ns | ne | False | True | True | True | True | True | False | one |
ns | ne | False | True | False | True | True | True | False | one |
ns | ne | False | False | null | True | True | True | True | one|two |
ns | none | False | True | True | True | True | True | True | one|two |
ns | none | False | True | False | True | True | True | True | one|two |
ns | none | False | False | null | True | True | True | True | one|two |
nr | rd | True | True | True | True | True | True | False | one |
nr | rd | True | True | False | True | True | True | False | one |
nr | rd | True | False | null | True | True | True | True | one|two |
nr | ss | True | True | True | True | True | True | True | one|two |
nr | ss | True | True | False | True | True | True | True | one|two |
nr | ss | True | False | null | True | True | True | True | one|two |
nr | mt | True | True | True | True | False | null | False | one |
nr | rn | True | True | True | True | True | True | False | one |
nr | rn | True | True | False | True | True | True | False | one |
nr | rn | True | False | null | True | True | True | True | one|two |
nr | ns | True | True | True | True | True | True | True | one|two |
nr | ns | True | True | False | True | True | True | True | one|two |
nr | ns | True | False | null | True | True | True | True | one|two |
nr | nr | True | True | True | True | True | True | True | one|two |
nr | nr | True | True | False | True | True | True | True | one|two |
nr | nr | True | False | null | True | True | True | True | one|two |
nr | ne | True | True | True | True | True | True | False | one |
nr | ne | True | True | False | True | True | True | False | one |
nr | ne | True | False | null | True | True | True | True | one|two |
nr | none | True | True | True | True | True | True | True | one|two |
nr | none | True | True | False | True | True | True | True | one|two |
nr | none | True | False | null | True | True | True | True | one|two |
nr | rd | False | True | True | True | True | True | False | one |
nr | rd | False | True | False | True | True | True | False | one |
nr | rd | False | False | null | True | True | True | True | one|two |
nr | ss | False | True | True | True | True | True | True | one|two |
nr | ss | False | True | False | True | True | True | True | one|two |
nr | ss | False | False | null | True | True | True | True | one|two |
nr | mt | False | True | True | True | False | null | False | one |
nr | rn | False | True | True | True | True | True | False | one |
nr | rn | False | True | False | True | True | True | False | one |
nr | rn | False | False | null | True | True | True | True | one|two |
nr | ns | False | True | True | True | True | True | True | one|two |
nr | ns | False | True | False | True | True | True | True | one|two |
nr | ns | False | False | null | True | True | True | True | one|two |
nr | nr | False | True | True | True | True | True | True | one|two |
nr | nr | False | True | False | True | True | True | True | one|two |
nr | nr | False | False | null | True | True | True | True | one|two |
nr | ne | False | True | True | True | True | True | False | one |
nr | ne | False | True | False | True | True | True | False | one |
nr | ne | False | False | null | True | True | True | True | one|two |
nr | none | False | True | True | True | True | True | True | one|two |
nr | none | False | True | False | True | True | True | True | one|two |
nr | none | False | False | null | True | True | True | True | one|two |
ne | rd | True | True | True | True | True | True | True | |
ne | rd | True | True | False | True | True | True | True | |
ne | rd | True | False | null | True | True | True | True | |
ne | ss | True | True | True | True | True | True | True | |
ne | ss | True | True | False | True | True | True | True | |
ne | ss | True | False | null | True | True | True | True | |
ne | mt | True | True | True | True | True | True | True | |
ne | mt | True | True | False | True | True | True | True | |
ne | mt | True | False | null | True | True | True | True | |
ne | rn | True | True | True | True | True | False | False | |
ne | rn | True | True | False | True | True | False | False | |
ne | rn | True | False | null | True | True | False | True | two |
ne | ns | True | True | True | True | True | False | True | two |
ne | ns | True | True | False | True | True | False | True | two |
ne | ns | True | False | null | True | True | False | True | two |
ne | nr | True | True | True | True | False | null | False | |
ne | ne | True | True | True | True | True | True | False | |
ne | ne | True | True | False | True | True | True | False | |
ne | ne | True | False | null | True | True | True | True | |
ne | none | True | True | True | True | True | True | True | |
ne | none | True | True | False | True | True | True | True | |
ne | none | True | False | null | True | True | True | True | |
ne | rd | False | True | True | True | True | True | True | |
ne | rd | False | True | False | True | True | True | True | |
ne | rd | False | False | null | True | True | True | True | one|two |
ne | ss | False | True | True | True | True | True | True | |
ne | ss | False | True | False | True | True | True | True | |
ne | ss | False | False | null | True | True | True | True | one|two |
ne | mt | False | True | True | True | True | True | True | |
ne | mt | False | True | False | True | True | True | True | |
ne | mt | False | False | null | True | True | True | True | one|two |
ne | rn | False | True | True | True | True | False | False | one |
ne | rn | False | True | False | True | True | False | False | |
ne | rn | False | False | null | True | True | False | True | one|two |
ne | ns | False | True | True | True | True | False | True | one|two |
ne | ns | False | True | False | True | True | False | True | two |
ne | ns | False | False | null | True | True | False | True | one|two |
ne | nr | False | True | True | True | False | null | False | one |
ne | ne | False | True | True | True | True | True | False | one |
ne | ne | False | True | False | True | True | True | False | |
ne | ne | False | False | null | True | True | True | True | one|two |
ne | none | False | True | True | True | True | True | True | one|two |
ne | none | False | True | False | True | True | True | True | |
ne | none | False | False | null | True | True | True | True | one|two |
none | rd | True | True | True | True | True | True | False | one |
none | rd | True | True | False | True | True | True | False | one |
none | rd | True | False | null | True | True | True | True | one|two |
none | ss | True | True | True | True | True | True | True | one|two |
none | ss | True | True | False | True | True | True | True | one|two |
none | ss | True | False | null | True | True | True | True | one|two |
none | mt | True | True | True | True | False | null | False | one |
none | rn | True | True | True | True | True | True | False | one |
none | rn | True | True | False | True | True | True | False | one |
none | rn | True | False | null | True | True | True | True | one|two |
none | ns | True | True | True | True | True | True | True | one|two |
none | ns | True | True | False | True | True | True | True | one|two |
none | ns | True | False | null | True | True | True | True | one|two |
none | nr | True | True | True | True | True | True | True | one|two |
none | nr | True | True | False | True | True | True | True | one|two |
none | nr | True | False | null | True | True | True | True | one|two |
none | ne | True | True | True | True | True | True | False | one |
none | ne | True | True | False | True | True | True | False | one |
none | ne | True | False | null | True | True | True | True | one|two |
none | none | True | True | True | True | True | True | True | one|two |
none | none | True | True | False | True | True | True | True | one|two |
none | none | True | False | null | True | True | True | True | one|two |
none | rd | False | True | True | True | True | True | False | one |
none | rd | False | True | False | True | True | True | False | one |
none | rd | False | False | null | True | True | True | True | one|two |
none | ss | False | True | True | True | True | True | True | one|two |
none | ss | False | True | False | True | True | True | True | one|two |
none | ss | False | False | null | True | True | True | True | one|two |
none | mt | False | True | True | True | False | null | False | one |
none | rn | False | True | True | True | True | True | False | one |
none | rn | False | True | False | True | True | True | False | one |
none | rn | False | False | null | True | True | True | True | one|two |
none | ns | False | True | True | True | True | True | True | one|two |
none | ns | False | True | False | True | True | True | True | one|two |
none | ns | False | False | null | True | True | True | True | one|two |
none | nr | False | True | True | True | True | True | True | one|two |
none | nr | False | True | False | True | True | True | True | one|two |
none | nr | False | False | null | True | True | True | True | one|two |
none | ne | False | True | True | True | True | True | False | one |
none | ne | False | True | False | True | True | True | False | one |
none | ne | False | False | null | True | True | True | True | one|two |
none | none | False | True | True | True | True | True | True | one|two |
none | none | False | True | False | True | True | True | True | one|two |
none | none | False | False | null | True | True | True | True | one|two |