refactor(enclave): enhance error extraction and logging for better debugging
This commit is contained in:
@@ -17,11 +17,18 @@ function extractErrorMessage(err: unknown): string {
|
|||||||
if (typeof obj.message === 'string') return obj.message;
|
if (typeof obj.message === 'string') return obj.message;
|
||||||
if (typeof obj.error === 'string') return obj.error;
|
if (typeof obj.error === 'string') return obj.error;
|
||||||
if (typeof obj.msg === 'string') return obj.msg;
|
if (typeof obj.msg === 'string') return obj.msg;
|
||||||
try {
|
const allKeys = [...Object.keys(obj), ...Object.getOwnPropertyNames(obj)];
|
||||||
return JSON.stringify(err);
|
for (const key of allKeys) {
|
||||||
} catch {
|
const val = obj[key];
|
||||||
return '[unknown error object]';
|
if (typeof val === 'string' && val.length > 0) {
|
||||||
|
return `${key}: ${val}`;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
|
const str = JSON.stringify(err, Object.getOwnPropertyNames(err));
|
||||||
|
if (str !== '{}') return str;
|
||||||
|
} catch {}
|
||||||
|
return `[error object with keys: ${allKeys.join(', ') || 'none'}]`;
|
||||||
}
|
}
|
||||||
return String(err);
|
return String(err);
|
||||||
}
|
}
|
||||||
@@ -69,6 +76,14 @@ export class Enclave {
|
|||||||
this.log(`generate: created DID ${output.did}`);
|
this.log(`generate: created DID ${output.did}`);
|
||||||
return output;
|
return output;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
console.error('[DEBUG] Raw error:', err);
|
||||||
|
console.error('[DEBUG] typeof:', typeof err);
|
||||||
|
console.error('[DEBUG] constructor:', err?.constructor?.name);
|
||||||
|
if (typeof err === 'object' && err !== null) {
|
||||||
|
console.error('[DEBUG] keys:', Object.keys(err));
|
||||||
|
console.error('[DEBUG] ownProps:', Object.getOwnPropertyNames(err));
|
||||||
|
console.error('[DEBUG] prototype:', Object.getPrototypeOf(err));
|
||||||
|
}
|
||||||
const errMsg = extractErrorMessage(err);
|
const errMsg = extractErrorMessage(err);
|
||||||
this.log(`generate: failed - ${errMsg}`, 'error');
|
this.log(`generate: failed - ${errMsg}`, 'error');
|
||||||
throw new Error(`generate: ${errMsg}`);
|
throw new Error(`generate: ${errMsg}`);
|
||||||
|
|||||||
Reference in New Issue
Block a user