#include &lt;iostream&gt;    using namespace std;    class Base    &#123;        protected:        int a;        public:        Base&#40;&#41;         &#123;             a = 34;         &#125;        Base&#40;int i&#41;        &#123;             a = i;         &#125;        virtual ~Base&#40;&#41;         &#123;             if &#40;a &lt; 0&#41;  throw a;         &#125;        virtual int getA&#40;&#41;        &#123;            if &#40;a &lt; 0&#41;             &#123;                 throw a;            &#125;        &#125;    &#125;;    int main&#40;&#41;    &#123;        try        &#123;            Base b&#40;-25&#41;;            cout &lt;&lt; endl &lt;&lt; b.getA&#40;&#41;;        &#125;        catch &#40;int&#41;         &#123;            cout &lt;&lt; endl &lt;&lt; &quot;Illegal initialization&quot;;        &#125;    &#125;
A. Illegal initialization
B. terminate called after throwing an instance of ‘int’
C. both a & b
D. none of the mentioned
Answer:A
#include &lt;iostream&gt;    using namespace std;    class Base    &#123;        protected:        int a;        public:        Base&#40;&#41;         &#123;             a = 34;         &#125;        Base&#40;int i&#41;        &#123;             a = i;         &#125;        virtual ~Base&#40;&#41;         &#123;             if &#40;a &lt; 0&#41;  throw a;         &#125;        virtual int getA&#40;&#41;        &#123;            if &#40;a &lt; 0&#41;             &#123;                 throw a;            &#125;        &#125;    &#125;;    int main&#40;&#41;    &#123;        try        &#123;            Base b&#40;-25&#41;;            cout &lt;&lt; endl &lt;&lt; b.getA&#40;&#41;;        &#125;        catch &#40;int&#41;         &#123;            cout &lt;&lt; endl &lt;&lt; &quot;Illegal initialization&quot;;        &#125;    &#125;
A. Illegal initialization B. terminate called after throwing an instance of ‘int’ C. both a & b D. none of the mentioned
Explanation:As we are throwing an negative number and we are using only integer, So it is arising an error.