Senin, 28 Juli 2025

C++ SAMPLE CODE 9

 #include<iostream>

using namespace std;


int main ()

   int A, B;

   double D;


   cout<<"Masukkan dua nilai: ";

   cin>> A>>B;


   try //blok try

   { 

      if( B == 0)

      throw B; //melempar eksepsi


      else

  { 

      D = A/double(B);

          cout<<"D = "<<D<<endl; 

  }

   } //akhir dari blok try


   catch (int C) //blok penanganan eksepsi diawali di sini

   { 

   cout<<"Anda memasukkan B = 0, masukkan nilai lain"<<endl;

   }


   return 0;

}

====================================

#include<iostream>

using namespace std;


int main ()

   int A ;

   double B, D ;


   cout<<"Masukkan dua nilai: ";

   cin>>A>>B;


   try //blok try

   { 

      if(B == 0.0)

         throw B; //melempar eksepsi bertipe double

      else

  { 

         D = A/B;

         cout<<"D = "<<D<<endl; 

  }

   } //akhir dari blok try


   catch (int) //blok penanganan eksepsi untuk int

   { 

      cout<<"Eksepsi tipe \"int\" ditangkap."<<endl; 

   }


   catch( double) //blok penanganan eksepsi untuk double

   { 

      cout<<"Eksepsi tipe \"double\" ditangkap."<<endl;

   }


   return 0;

}

=====================================

#include<iostream>

using namespace std;


int main ()

{

   int A;

   double B, D;

   char ch = 'C';


   cout<<"Masukkan dua nilai: ";

   cin>>A>>B;


   try //blok try

   {

      if(B == 0.0)

         throw ch; //melempar tipe char

      else

  { 

         D = A/B;

         cout<<"D = "<<D<<endl; 

  }

   } //akhir dari blok try


   catch (int) //blok penanganan eksepsi untuk int

   { 

   cout<<"Eksepsi tipe \"int\" ditangkap."<<endl; 

   }


   catch( double) //blok penanganan eksepsi untuk double

   { 

   cout<<"Eksepsi tipe \"double\" ditangkap."<<endl;

   }


   return 0;

}

===============================================

#include<iostream>

using namespace std;


int main ()

{

   int A;

   double B, D;

   char ch = 'C';


   cout<<"Masukkan dua nilai: ";

   cin>>A>>B;


   try //blok try

   {

      if(B == 0.0)

         throw ch; //melempar tipe char

      else

  { 

         D = A/B;

         cout<<"D = "<<D<<endl; 

  }

   } //akhir dari blok try


   catch (int) //blok penanganan eksepsi untuk int

   { 

   cout<<"Eksepsi tipe \"int\" ditangkap."<<endl; 

   }


   catch( double) //blok penanganan eksepsi untuk double

   { 

   cout<<"Eksepsi tipe \"double\" ditangkap."<<endl;

   }


   return 0;

}

=======================================

#include<iostream>

using namespace std;


class Basis //kelas Basis didefinisikan

{ };


int main()

   Basis obj_basis ; //obj_basis adalah objek dari kelas Basis


   int A;

   double B, D;

   char ch = 'C';


   cout<<"Masukkan dua nilai: ";

   cin>> A>>B;


   try //blok try

   {

      if(B == 0.0)

         throw obj_basis; //melempar sebuah objek dari kelas Basis

      else

  { 

         D = A/B ;

         cout<<"D = "<<D<<endl; 

  }

   } //akhir dari blok try


   catch (int) //blok penanganan eksepsi untuk int

   { 

      cout<<"Eksepsi tipe \"int\" ditangkap."<<endl; 

   }


   catch(Basis) //blok penanganan eksepsi untuk kelas Basis

   { 

      cout<<"Eksepsi tipe \"Basis\" ditangkap."<<endl;

   }


   return 0;

}

======================================

# include<iostream>

using namespace std;


class Kecuali{

   public:

      void Tampil1( )

  {

         cout<<"Terjadi sebuah eksepsi.\nNilai yang dimasukkan untuk A adalah negatif\n";

         cout <<"Msukkan nilai positif.\n"; 

  }


      void Tampil2 ()

  {

         cout<<"Nilai B yang dimasukkan adalah nol. \n";

         cout<<"Masukkan sebuah nilai lebih besar dari nol.\n";

  }

};


int main ()

   Kecuali Kec;

   int A, B ;

   double D;


   cout<<"Masukkan dua nilai: ";

   cin>> A>>B;


   try

   {

      if (B == 0)

         throw Kec ;

      else

         if (A < 0)

            throw Kec;

         else

{

            D = A/ double(B);

            cout<<"D = "<<D<<endl;

}

   }


   catch (Kecuali Kecd)

   {

      if (A < 0)

         Kecd.Tampil1();

      if (B == 0)

         Kecd.Tampil2();

   }


   return 0;

}

=============================================

#include<iostream>

using namespace std;


int main ()

   int A;

   double D, B;


   cout<<"Masukkan dua nilai: ";

   cin>>A>>B;


   try

   {

      if (B == 0)

         throw B;

      if (A > 50)

         throw A;

      else

  {

         D = A/ B;

         cout<<"D = "<<D<<endl;

  }

   }


   catch (double C)

   {

      cout<<"Anda masukkan B = 0, silahkan masukkan nilai lain."<<endl;

   }


   catch (int E )

   {

      cout<<"Silahkan masukkan nilai lain yang kurang dari 50 untuk A."<<endl; 

   }


   return 0;

}

===================================

#include<iostream>

using namespace std;


class Basis

{ };


int main ()

   Basis obj_basis ;


   int A;

   double B, D;

   char ch;


   cout<<"Masukkan sebuah integer, sebuah double, dan sebuah karakter: ";

   cin>>A>>B>>ch;


   try

   { 

      if(B == 0.0)

         throw obj_basis;

      if (A > 50)

         throw A;

      if(ch != 'Z')

         throw ch;

      else

  { 

         D = A/double(B);

         cout <<"D = "<<D<<endl; 

  }

   } //akhir dari blok try


   catch (...) //blok penanganan eksepsi diawali di sini

   {

      if (A >50)

         cout<<"Eksepsi pada int ditangkap."<<endl;

      if (B==0)

         cout<<"Eksepsi pada Basis ditangkap."<<endl;

      if(ch != 'Z')

         cout<<"Eksepsi pada char ditangkap."<<endl; 

   }


   return 0;

}

============================================

#include<iostream>

using namespace std;


void Uji(int A, double B, char ch)

   try

   {

      if (A > 50.0)

  {

         cout <<"A berada di luar rentang"<<endl;

         throw A; 

  }

      if (B == 0)

  {

         cout <<"B sama dengan nol"<<endl;

         throw B; 

  }

      if (ch != 'D')

  {

         cout<<"ch tidak sama dengan D"<<endl;

         throw ch; 

  }

      else

         cout<<"Semua berada di dalam rentang. Tidak ada eksepsi yang dilempar." <<endl; 

   }


   catch (...)

   { 

      cout<<"Menangkap sebuah eksepsi"<<endl; 

   }

}


int main ()

   int A;

   double B;

   char ch;


   cout<<"Tulislah nilai A, b, dan ch: ";

   cin>>A>>B>>ch;


   Uji(A,B,ch); //fungsi uji untuk try, throw dan catch


   return 0;

}

=======================================

#include<iostream>

using namespace std;


void FEksepsi (int j) throw () //tidak dapat melemparkan eksepsi apapun

{

   if (j== 1)

      throw j;

   if (j == 2)

      throw char();

   if (j==3)

      throw double();

}


int main ()

{

   int n;


   cout<<"Masukkan sebuah nilai antara 1 sampai 3:";

   cin>>n ;


   try{

      FEksepsi(n);

   } //akhir blok try


   catch (int) //blok penanganan eksepsi diawali di sini

   { 

      cout<<"Statemen throw int ditangkap"<<endl;

   }


   catch(double)

   { 

      cout<<"Statemen throw double ditangkap"<<endl;}


   return 0;

}

===================================================

#include<iostream>

using namespace std;


//fungsi berikut dapat melempar int atau double

void FEksepsi(int j) throw(int, double)

{

   if (j== 1)

      throw j;

   if (j == 2)

      throw 'D';

   if(j==3)

      throw 0.8;

}


int main ()

   int n;

   

   cout<<"Masukkan sebuah nilai antara 1 sampai 3: ";

   cin>>n ;


   try{

      FEksepsi(n);

   } //akhir blok try


   catch(int) //blok penanganan eksepsi diawali di sini

   { 

      cout<<"Statemen throw int ditangkap"<<endl;

   }


   catch(double)

   { 

      cout<<"Statemen throw double ditangkap"<<endl;}


   return 0;


}

=====================================

#include<iostream>

using namespace std;


void FungsiSpesifikasi(int j) throw (int, double, char)

{

   if (j == 1)

      throw j;

   if (j ==2)

      throw 0.6;

   if (j == 3)

      throw 'H';

}


int main ()

{

   try

   {

      int A (4);


  if (A != 3)

         FungsiSpesifikasi(1);

   }


   catch (int) //blok penanganan eksepsi diawali di sini

   { 

      cout<<"Ekspesi pada int ditangkap"<<endl;

   }


   try { //blok try

      double B (6.6);


      if (B!=7)

         FungsiSpesifikasi(2);

   }


   catch (double) //blok penanganan eksepsi diawali di sini

   { 

      cout<<"Ekspesi pada double ditangkap"<<endl;

   }


   try {

      char ch = 'C';


      if (ch != 'H')

         FungsiSpesifikasi(3);

   }


   catch(char)

   { 

      cout<<"Ekspesi pada char ditangkap"<<endl;

   }


   return 0;

}

=============================================

#include<iostream>

using namespace std;


void LemparUlang(int A) //definisi dari fungsi LemparUlang()

{

   try

   { 

      int B;


      cout<<"Masukkan sebuah nilai positif: "; 

  cin>> B ;


  if (B<=0)

         throw B;

   }


   catch (int)

   { 

      cout<<"Blok catch ini di dalam fungsi LemparUlang."<<endl;

      throw; //LemparUlang kedua

   }

}


int main ()

{

   try{

      try {

         LemparUlang(6);

  }


      catch(int)

  { 

         cout<<"Blok catch ini adalah blok catch dalam di dalam main."<<endl;

         throw; // LemparUlang kedua

  }

   }


   catch(int)

   {

      cout<<"Blok catch ini adalah blok catch luar di dalam main."<<endl;

   }


   return 0;

}

========================================

#include <iostream>

#include <stdexcept>

using namespace std;


double Resiprokal(double A) throw (overflow_error)

   cout<<"Tulislah sebuah nilai sangat kecil :"; 

   cin>> A;


   if(A < 0.000001)

      throw overflow_error("Resiprokal terlalu besar.");


   return 1/A ;

}


int main ()

{

   try

   {

      double B =0.0;


  cout<<"Resiprokal dari B = "<<Resiprokal(B)<<endl; 

   }


   catch (exception & x)

   { 

      cout<<"Eksepsi -> "<< x.what()<<endl; 

   }


   return 0;

}

===============================================

#include<iostream>

using namespace std;

#include<cmath>

#include<exception>


double AkarKuadrat(int n) throw (invalid_argument)

{

   if (n < 0)

      throw logic_error("invalid_argument untuk akar kuadrat");


   return sqrt(n);

}


int main()

{

   int m;


   cout<<"Masukkan sebuah nilai integer: ";

   cin>>m;


   try

   {

  cout<<"Akar kuadrat dari "<<m<<" adalah "<<AkarKuadrat(m)<<endl;

   }


   catch (exception& eksp)

   {

      cout<<eksp.what()<<endl; 

   }


   return 0;

}

==========================================

#include<iostream>

#include<stdexcept>

using namespace std;


void berhenti()

   cout<<"Sebuah eksepsi telah terjadi."<<endl;

   cout<<"Program dihentikan."<<endl;

   exit(1);

}


int main ()

   set_terminate(berhenti);


   try

   {

      int A;


  cout<<"Masukkan sebuah nilai yang lebih kecil dari 60: "; 

      cin >> A;


  if (A > 60)

         throw A;

      cout<<"Nilai yang dimasukkan adalah "<<A<<endl; 

   }


   catch (double)

   { 

      cout<<"Nilai berada di luar rentang."<<endl;

   }


   return 0;

}

===============================================

#include<iostream>

using namespace std;


class Basis //kelas Basis didefinisikan

{ };


class Terderivasi : public Basis //kelas Terderivasi didefinisikan

{};


int main ()

   Basis obj_basis ; //obj_basis adalah objek dari kelas Basis


   Terderivasi obj_derivasi; // obj_derivasi adalah objek dari kelas Terderivasi 


   int A;

   double B, D ;

   char ch = 'C';


   cout<<"Masukkan dua nilai: ";

   cin>> A>>B;


   try //blok try

   {

      if (B == 0.0)

         throw obj_derivasi; //melempar sebuah objek dari kelas Terderivasi

      else

  { 

         D = A/B ;

         cout<<"D = "<< D <<endl; 

  }

   } //akhir blok try


   catch (int) //blok penanganan eksepsi untuk int

   { 

      cout<<"Eksepsi tipe \"int\" ditangkap."<<endl; 

   }


   catch(Basis) //blok penanganan eksepsi untuk kelas Basis

   { 

      cout<<"Eksepsi tipe \"Basis\" ditangkap."<<endl;

   }


   return 0;

}


Tidak ada komentar: