typeinfo::bad_cast in C++ with Examples Last Updated : 28 May, 2020 Summarize Comments Improve Suggest changes Share Like Article Like Report Standard C++ contains several built-in exception classes. typeinfo::bad_cast is one of them. This is an exception thrown on failure to dynamic cast. Below is the syntax for the same: Header File: <typeinfo> Syntax: class bad_cast; Note: To make use of std::bad_cast, one should set up the appropriate try and catch blocks. Return Value: It doesn't return anything. Below are the examples to understand the implementation of std::bad_cast in a better way: Program 1: CPP14 // C++ code for std::bad_cast #include <bits/stdc++.h> #include <typeinfo> using namespace std; // Base Class class Base { virtual void member() {} }; // Derived Class class Derived : Base { }; // main() method int main() { // try block try { Base gfg; Derived& rd = dynamic_cast<Derived&>(gfg); } // catch block to handle the errors catch (bad_cast& bc) { cerr << "bad_cast caught: " << bc.what() << endl; } return 0; } Output: bad_cast caught: std::bad_cast Program 2: CPP14 // C++ code for std::bad_cast #include <bits/stdc++.h> #include <typeinfo> using namespace std; // Base Class class Base { virtual void member() {} }; // Derived Class class Derived : Base { }; // main() method int main() { // try block try { Base geeksforgeeks; Derived& abc = dynamic_cast<Derived&>( geeksforgeeks); } // catch block to handle the errors catch (bad_cast& a) { cerr << "bad_cast caught: " << a.what() << endl; } return 0; } Output: bad_cast caught: std::bad_cast Reference: http://www.cplusplus.com/reference/typeinfo/bad_cast/ Comment More infoAdvertise with us B bansal_rtk_ Follow Improve Article Tags : Misc C++ CPP-Functions Practice Tags : CPPMisc Similar Reads C++ Programming Language C++ is a computer programming language developed by Bjarne Stroustrup as an extension of the C language. It is known for is fast speed, low level memory management and is often taught as first programming language. It provides:Hands-on application of different programming concepts.Similar syntax to 5 min read SQL Commands | DDL, DQL, DML, DCL and TCL Commands SQL commands are crucial for managing databases effectively. These commands are divided into categories such as Data Definition Language (DDL), Data Manipulation Language (DML), Data Control Language (DCL), Data Query Language (DQL), and Transaction Control Language (TCL). In this article, we will e 7 min read TCP/IP Model The TCP/IP model is a framework that is used to model the communication in a network. It is mainly a collection of network protocols and organization of these protocols in different layers for modeling the network.It has four layers, Application, Transport, Network/Internet and Network Access.While 7 min read Basics of Computer Networking A computer network is a collection of interconnected devices that share resources and information. These devices can include computers, servers, printers, and other hardware. Networks allow for the efficient exchange of data, enabling various applications such as email, file sharing, and internet br 14 min read Object Oriented Programming in C++ Object Oriented Programming - As the name suggests uses objects in programming. Object-oriented programming aims to implement real-world entities like inheritance, hiding, polymorphism, etc. in programming. The main aim of OOP is to bind together the data and the functions that operate on them so th 5 min read Java Programs - Java Programming Examples In this article, we will learn and prepare for Interviews using Java Programming Examples. From basic Java programs like the Fibonacci series, Prime numbers, Factorial numbers, and Palindrome numbers to advanced Java programs.Java is one of the most popular programming languages today because of its 8 min read Unified Modeling Language (UML) Diagrams Unified Modeling Language (UML) is a general-purpose modeling language. The main aim of UML is to define a standard way to visualize the way a system has been designed. It is quite similar to blueprints used in other fields of engineering. UML is not a programming language, it is rather a visual lan 14 min read Second Largest Element in an Array Given an array of positive integers arr[] of size n, the task is to find second largest distinct element in the array.Note: If the second largest element does not exist, return -1. Examples:Input: arr[] = [12, 35, 1, 10, 34, 1]Output: 34Explanation: The largest element of the array is 35 and the sec 14 min read Python Lists In Python, a list is a built-in dynamic sized array (automatically grows and shrinks). We can store all types of items (including another list) in a list. A list may contain mixed type of items, this is possible because a list mainly stores references at contiguous locations and actual items maybe s 6 min read Introduction to Java Java is a high-level, object-oriented programming language developed by Sun Microsystems in 1995. It is platform-independent, which means we can write code once and run it anywhere using the Java Virtual Machine (JVM). Java is mostly used for building desktop applications, web applications, Android 4 min read Like