exception handling
This commit is contained in:
parent
dea623fc97
commit
2a87562d50
1 changed files with 11 additions and 5 deletions
|
@ -14,6 +14,8 @@ void program();
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
|
std::cout<< "Gib ein Limit ein: ";
|
||||||
|
|
||||||
program();
|
program();
|
||||||
|
|
||||||
std::cout << "\n\nProgrammende!";
|
std::cout << "\n\nProgrammende!";
|
||||||
|
@ -34,11 +36,11 @@ void program()
|
||||||
unsigned long long limit = 0;
|
unsigned long long limit = 0;
|
||||||
std::string input;
|
std::string input;
|
||||||
|
|
||||||
do{
|
do
|
||||||
std::cout<< "Gib ein Limit ein: ";
|
{
|
||||||
getline(std::cin, input);
|
getline(std::cin, input);
|
||||||
std::stringstream(input)>>limit;
|
std::stringstream(input)>>limit;
|
||||||
if(limit>=ULLONG_MAX || limit<0) std::cerr << "Error: Dieses Limit ist nicht m\x94glich. ";
|
if(limit>=ULLONG_MAX || limit<0) std::cerr << "Error: Dieses Limit ist nicht m\x94glich. Gib ein anderes Limit ein: ";
|
||||||
}while(limit>=ULLONG_MAX || limit<0);
|
}while(limit>=ULLONG_MAX || limit<0);
|
||||||
|
|
||||||
try
|
try
|
||||||
|
@ -57,8 +59,12 @@ void program()
|
||||||
}
|
}
|
||||||
catch(std::bad_alloc& ba)
|
catch(std::bad_alloc& ba)
|
||||||
{
|
{
|
||||||
std::cerr << "Error: Es konnte kein Array dieser Gr\x94\xE1 \be erstellt werden. ";
|
std::cerr << "Error: Es konnte kein Array dieser Gr\x94\xE1 \be erstellt werden. Gib ein anderes Limit ein: ";
|
||||||
|
program();
|
||||||
|
}
|
||||||
|
catch(std::exception& e)
|
||||||
|
{
|
||||||
|
std::cerr << "Error: Beim Erstellen des Arrays ist ein unbekannter Fehler aufgetreten. Gib ein anderes Limit ein: ";
|
||||||
program();
|
program();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue