File: tryscope.bsh

package info (click to toggle)
bsh 2.0b4-20
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 4,224 kB
  • sloc: java: 23,431; xml: 4,500; sh: 139; makefile: 24
file content (82 lines) | stat: -rw-r--r-- 1,017 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/bin/java bsh.Interpreter

source("TestHarness.bsh");

try {
	int foo1=5;
	bar1=5;
} catch ( Exception e1 ) {
	b1=5;
}
assert( foo1 == void );
assert( bar1 == 5 );
assert( b1 == void );
assert( e1 == void );

try {
	int foo2=5;
	bar2=5;
	a=1/0;
} catch ( Exception e2) {
	b2=5;
}

assert( foo2 == void );
assert( bar2 == 5 );
assert( b2 == 5);
assert( e2 ==  void );

try {
	int foo2=5;
} catch ( e3 ) {
}
assert( e3 == void );

try {
	a=1/0;
} catch ( e3 ) {
}
assert( e3 == void );

try {
	a=1/0;
} catch ( e3 ) {
} finally {
	fin1=5;
	int fin2=5;
}
assert( fin1 == 5 );
assert( fin2 == void );

try {
} catch ( e3 ) {
} finally {
	fin1=5;
	int fin2=5;
}
assert( fin1 == 5 );
assert( fin2 == void );

try {
	a=1/0;
} catch ( Exception e5 ) {
} catch ( e6 ) { }
assert( e5 == void );
assert( e6 == void );

a=4;
try { 
	throw new Exception("foo");
} catch ( Exception e ) { 
	a=5;
}

print(a);
assert(a==5);
assert(skdlfjl==void);
// catch clause exception param shouldn't leak out
assert(e==void);


complete();