#ifndef NSEXCEPTION
#define NSEXCEPTION

class nsexception {
unsigned int code;
public:
  nsexception(unsigned int code): 
    code(code) {}
  ~nsexception() {
  }
  
  unsigned int getCode() const {
    return code;
  }
};

NS_INLINE void
wrap_nsexception(nsresult rv) throw(nsexception) {
  if (NS_FAILED(rv))
    throw nsexception(rv);
}

#define IGNORE_NSEXCEPTION(x) \
  try {                       \
    x;                        \
  } catch (nsexception &) {}

#endif //NSEXCEPTION
