a) Write down what will be the output of the following program and briefly justify your answer. b) Instead of the “replacement” semantics of exception handling used in modern languages (i.e., the semantics introduced in lecture), a very early design of exception handling introduced in the PL/I language uses a “binding” semantics. In particular, the design dynamically tracks a sequence of “catch” blocks that are currently active; a catch block is active whenever the corre- sponding try block is active. Moreover, whenever an exception is thrown, the sequence of active “catch” blocks will be traversed (in a first-in-last-out manner) to find a matching handler. Fur- thermore, execution will resume at the statement following the one that throws exception, rather than the next statement after the matching “catch” block as we have seen in the “replacement” semantics. What will be the output of the following program if the language uses the “binding” semantics? Briefly justify your answer
a) Write down what will be the output of the following
answer.
b) Instead of the “replacement” semantics of exception handling used in modern languages
(i.e., the semantics introduced in lecture), a very early design of exception handling introduced
in the PL/I language uses a “binding” semantics. In particular, the design dynamically tracks a
sequence of “catch” blocks that are currently active; a catch block is active whenever the corre-
sponding try block is active. Moreover, whenever an exception is thrown, the sequence of active
“catch” blocks will be traversed (in a first-in-last-out manner) to find a matching handler. Fur-
thermore, execution will resume at the statement following the one that throws exception, rather
than the next statement after the matching “catch” block as we have seen in the “replacement”
semantics. What will be the output of the following program if the language uses the “binding” semantics?
Briefly justify your answer
![1
2
3
4
S
6
7
8
9
10
11
12
13
14
2222222222
15
16
17
18
19
20
21
22
23
Consider the following code snippet with exceptions. Note that the main function calls foo in the
nested try block.
void foo () {
try {
throw new Exception1();
print ("A");
throw new Exception2();
print ("B");
24 }
}
catch (Exception1 e1) {
print "handler1";
print ("C");
throw new Exception2 ();
void main () {
try
try {
2
foo ();
print ("D");
123 MPSCA
catch (Exception1 e1) print "handler2";
print ("E");
}
catch (Exception2 e2)
(
print "handler3"; }
AND
2023 CS](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F12050043-4d02-4d31-b9b4-7dfbc30a9c5d%2Fc092c15c-6215-45ab-8a13-385f6ff765ba%2Fxncfn5o_processed.png&w=3840&q=75)
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 3 steps
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
![Concepts of Database Management](https://www.bartleby.com/isbn_cover_images/9781337093422/9781337093422_smallCoverImage.gif)
![Prelude to Programming](https://www.bartleby.com/isbn_cover_images/9780133750423/9780133750423_smallCoverImage.jpg)
![Sc Business Data Communications and Networking, T…](https://www.bartleby.com/isbn_cover_images/9781119368830/9781119368830_smallCoverImage.gif)