-/** Exception raised when a communication fails because of the network */
-class network_failure : public simgrid::Exception {
+/** Exception raised when a communication fails because of the network or because of the remote host */
+class NetworkFailureException : public Exception {
+public:
+ NetworkFailureException(simgrid::xbt::ThrowPoint&& throwpoint, std::string&& message)
+ : Exception(std::move(throwpoint), std::move(message))
+ {
+ }
+};
+
+/** Exception raised when a storage fails */
+class StorageFailureException : public Exception {
+public:
+ StorageFailureException(simgrid::xbt::ThrowPoint&& throwpoint, std::string&& message)
+ : Exception(std::move(throwpoint), std::move(message))
+ {
+ }
+};
+
+/** Exception raised when a VM fails */
+class VmFailureException : public Exception {
+public:
+ VmFailureException(simgrid::xbt::ThrowPoint&& throwpoint, std::string&& message)
+ : Exception(std::move(throwpoint), std::move(message))
+ {
+ }