Skip to content

Commit c0cdcca

Browse files
committed
Add system exception for os-related error
1 parent aab3e8f commit c0cdcca

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

src/util/exception_utils.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,23 @@ class invalid_user_input_exceptiont
3333
std::string what() const noexcept;
3434
};
3535

36+
class system_exceptiont
37+
{
38+
private:
39+
std::string reason;
40+
41+
public:
42+
system_exceptiont(const std::string &reason) : reason(reason)
43+
{
44+
}
45+
46+
std::string what() const noexcept
47+
{
48+
std::string res;
49+
res += "System Exception\n";
50+
res += "Reason: " + reason + "\n";
51+
return res;
52+
}
53+
};
54+
3655
#endif // CPROVER_UTIL_EXCEPTION_UTILS_H

src/util/parse_options.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,12 @@ int parse_options_baset::main()
7676
std::cerr << e.what() << "\n";
7777
return CPROVER_EXIT_USAGE_ERROR;
7878
}
79+
catch(system_exceptiont &e)
80+
{
81+
std::cerr << e.what() << "\n";
82+
return CPROVER_EXIT_EXCEPTION;
83+
}
84+
7985
return CPROVER_EXIT_SUCCESS;
8086
}
8187

0 commit comments

Comments
 (0)