#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:
Posting Komentar