mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 12:55:00 +00:00
chore: merge blocksuite source code (#9213)
This commit is contained in:
30
blocksuite/framework/global/src/exceptions/code.ts
Normal file
30
blocksuite/framework/global/src/exceptions/code.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
export enum ErrorCode {
|
||||
DefaultRuntimeError = 1,
|
||||
ReactiveProxyError,
|
||||
DocCollectionError,
|
||||
ModelCRUDError,
|
||||
ValueNotExists,
|
||||
ValueNotInstanceOf,
|
||||
ValueNotEqual,
|
||||
MigrationError,
|
||||
SchemaValidateError,
|
||||
TransformerError,
|
||||
InlineEditorError,
|
||||
TransformerNotImplementedError,
|
||||
EdgelessExportError,
|
||||
CommandError,
|
||||
EventDispatcherError,
|
||||
SelectionError,
|
||||
GfxBlockElementError,
|
||||
MissingViewModelError,
|
||||
DatabaseBlockError,
|
||||
ParsingError,
|
||||
UserAbortError,
|
||||
ExecutionError,
|
||||
|
||||
// Fatal error should be greater than 10000
|
||||
DefaultFatalError = 10000,
|
||||
NoRootModelError,
|
||||
NoSurfaceModelError,
|
||||
NoneSupportedSSRError,
|
||||
}
|
||||
34
blocksuite/framework/global/src/exceptions/index.ts
Normal file
34
blocksuite/framework/global/src/exceptions/index.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import type { ErrorCode } from './code.js';
|
||||
|
||||
export class BlockSuiteError extends Error {
|
||||
code: ErrorCode;
|
||||
|
||||
isFatal: boolean;
|
||||
|
||||
constructor(code: ErrorCode, message: string, options?: { cause: Error }) {
|
||||
super(message, options);
|
||||
this.name = 'BlockSuiteError';
|
||||
this.code = code;
|
||||
this.isFatal = code >= 10000;
|
||||
}
|
||||
}
|
||||
|
||||
export function handleError(error: Error) {
|
||||
if (!(error instanceof BlockSuiteError)) {
|
||||
throw error;
|
||||
}
|
||||
|
||||
if (error.isFatal) {
|
||||
throw new Error(
|
||||
'A fatal error for BlockSuite occurs, please contact the team if you find this.',
|
||||
{ cause: error }
|
||||
);
|
||||
}
|
||||
|
||||
console.error(
|
||||
"A runtime error for BlockSuite occurs, you can ignore this error if it won't break the user experience."
|
||||
);
|
||||
console.error(error.stack);
|
||||
}
|
||||
|
||||
export * from './code.js';
|
||||
Reference in New Issue
Block a user