NIMDatabaseException.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. //
  2. // NIMDatabaseException.h
  3. // NIMLib
  4. //
  5. // Created by He on 2019/10/28.
  6. // Copyright © 2019 Netease. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. @class NIMDatabaseException;
  10. NS_ASSUME_NONNULL_BEGIN
  11. /**
  12. * 数据库异常类型
  13. */
  14. typedef NS_ENUM(NSInteger, NIMDatabaseExceptionType)
  15. {
  16. /**
  17. * 损坏的DB
  18. */
  19. NIMDatabaseExceptionTypeBadDb,
  20. };
  21. /**
  22. * 数据库异常处理协议
  23. */
  24. @protocol NIMDatabaseHandleExceptionProtocol <NSObject>
  25. @optional
  26. /**
  27. * 数据库异常处理方法
  28. */
  29. - (void)handleException:(NIMDatabaseException *)exception;
  30. @end
  31. /**
  32. * 数据库异常信息
  33. */
  34. @interface NIMDatabaseException : NSObject
  35. /**
  36. * 异常
  37. */
  38. @property (nonatomic,assign,readonly) NIMDatabaseExceptionType exception;
  39. /**
  40. * 数据库异常信息
  41. */
  42. @property (nullable,nonatomic,copy,readonly) NSString * message;
  43. /**
  44. * 数据库文件沙盒路径
  45. */
  46. @property (nullable,nonatomic,copy,readonly) NSString * databasePath;
  47. /**
  48. * 注册数据库异常处理对象
  49. * @param handler 用户自定义处理对象
  50. */
  51. + (void)registerExceptionHandler:(id<NIMDatabaseHandleExceptionProtocol>)handler;
  52. @end
  53. NS_ASSUME_NONNULL_END