gx
chenyc
2025-06-12 7b72ac13a83764a662159d4a49b7fffb90476ecb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma once
 
#include <string>
 
class CanvasError {
  public:
    std::string message;
    std::string syscall;
    std::string path;
    int cerrno = 0;
    void set(const char* iMessage = NULL, const char* iSyscall = NULL, int iErrno = 0, const char* iPath = NULL) {
      if (iMessage) message.assign(iMessage);
      if (iSyscall) syscall.assign(iSyscall);
      cerrno = iErrno;
      if (iPath) path.assign(iPath);
    }
    void reset() {
      message.clear();
      syscall.clear();
      path.clear();
      cerrno = 0;
    }
};