NIMDatabaseException.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. NIMDatabaseExceptionTypeFull,
  24. };
  25. /**
  26. * 数据库异常处理协议
  27. */
  28. @protocol NIMDatabaseHandleExceptionProtocol <NSObject>
  29. @optional
  30. /**
  31. * 数据库异常处理方法
  32. */
  33. - (void)handleException:(NIMDatabaseException *)exception;
  34. @end
  35. /**
  36. * 数据库异常信息
  37. */
  38. @interface NIMDatabaseException : NSObject
  39. /**
  40. * 异常
  41. */
  42. @property (nonatomic,assign,readonly) NIMDatabaseExceptionType exception;
  43. /**
  44. * 数据库异常信息
  45. */
  46. @property (nullable,nonatomic,copy,readonly) NSString * message;
  47. /**
  48. * 数据库文件沙盒路径
  49. */
  50. @property (nullable,nonatomic,copy,readonly) NSString * databasePath;
  51. /**
  52. * 注册数据库异常处理对象
  53. * @param handler 用户自定义处理对象
  54. */
  55. + (void)registerExceptionHandler:(id<NIMDatabaseHandleExceptionProtocol>)handler;
  56. @end
  57. NS_ASSUME_NONNULL_END