B. the string I feel fine will be seen - it happens before any exception is raised
C. unhandled exception is raised and writes down "Exception: what a pity", not only "what a pity" as the answer D states
The code could also be like this perhaps
class E(Exception):
def __init__(self, message):
self.message = message
def __str__(self):
return "It's nice to see you"
try:
print("I feel fine")
raise Exception("what a pity")
except Exception as e:
print(e)
else:
print("the show must go on")
The raise Exception("What a pity") line raises a generic Exception, not an instance of the custom exception E. Since the except E as e block is specifically looking for instances of E, it won't catch the raised exception, and the control will go directly to the else block.
However!
The program terminates abruptly after encountering the unhandled Exception, and the else block doesn't get a chance to execute. When an unhandled exception occurs, the normal program flow is disrupted, and subsequent code (including the else block) is skipped.
To make the else block execute, you would need to handle the exception, either by catching it with the correct except block or allowing the program to handle it at a higher level.
Although answer B, C and D are correct. I think B and D are the 'best' answers.
Because C an unhandled exception is raised, D is true. B is true because the line is printed before C and D happen.
the message 'I fell fine' will be seen and
the code will raise an unhandled exception and the message 'what a pity ' will be seen.
The answers could be B,C or D
Answer in BD, I've tested:
class E(Exception):
def __init__(self, message):
self.message = message
def __str__(self):
return "It's nice to see you"
try:
print("I fell fine")
raise Exception("What a party")
except E as e:
print(e)
else:
print("the show must go on")
#Output:
#I fell fine
#Traceback (most recent call last):
# File "C:\devops\python\t.py", line 9, in <module>
# raise Exception("What a party")
#Exception: What a party
It actually is BD. The string "what a pity" is the error message displayed so technically it will be seen along with "I feel fine".
upvoted 1 times
...
...
Log in to ExamTopics
Sign in:
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.
Upvoting a comment with a selected answer will also increase the vote count towards that answer by one.
So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.
rotimislaw
Highly Voted 2 years agoCoinUmbrella
Most Recent 6 months, 2 weeks agoDamon54
9 months, 3 weeks agozantrz
10 months agomplopez
1 year, 3 months agomacxsz
2 years, 6 months agoTheNetworkStudent
2 years, 8 months agosadako11
2 years, 9 months agoDTL001
2 years, 11 months agoluckymuki
3 years, 1 month agotechdawgs
2 years, 11 months ago