"git@developer.sourcefind.cn:gaoqiong/migraphx.git" did not exist on "5315d9bb2672a5db993e769636737f9a4ed233ce"
Unverified Commit 8818cb65 authored by chicm-ms's avatar chicm-ms Committed by GitHub
Browse files

Handle string type error (#1064)

parent 34988d9b
......@@ -35,6 +35,23 @@ export class NNIError extends Error {
}
this.cause = err;
}
public static FromError(err: NNIError | Error | string, messagePrefix?: string): NNIError {
const msgPrefix: string = messagePrefix === undefined ? '' : messagePrefix;
if (err instanceof NNIError) {
if (err.message !== undefined) {
err.message = msgPrefix + err.message;
}
return err;
} else if (typeof(err) === 'string') {
return new NNIError('', msgPrefix + err);
} else if (err instanceof Error) {
return new NNIError('', msgPrefix + err.message, err);
} else {
throw new Error(`Wrong instance type: ${typeof(err)}`);
}
}
}
export class MethodNotImplementedError extends Error {
......
......@@ -106,7 +106,7 @@ class IpcInterface {
this.logger.warning('Commands jammed in buffer!');
}
} catch (err) {
throw new NNIError('Dispatcher Error', `Dispatcher Error: ${err.message}`, err);
throw NNIError.FromError(err, 'Dispatcher Error: ');
}
}
......
......@@ -77,7 +77,7 @@ class NNIDataStore implements DataStore {
try {
await this.db.storeExperimentProfile(experimentProfile);
} catch (err) {
throw new NNIError('Datastore error', `Datastore error: ${err.message}`, err);
throw NNIError.FromError(err, 'Datastore error: ');
}
}
......@@ -105,7 +105,7 @@ class NNIDataStore implements DataStore {
return this.db.storeTrialJobEvent(event, trialJobId, timestamp, hyperParameter, jobDetail).catch(
(err: Error) => {
throw new NNIError('Datastore error', `Datastore error: ${err.message}`, err);
throw NNIError.FromError(err, 'Datastore error: ');
}
);
}
......@@ -163,7 +163,7 @@ class NNIDataStore implements DataStore {
timestamp: Date.now()
}));
} catch (err) {
throw new NNIError('Datastore error', `Datastore error: ${err.message}`, err);
throw NNIError.FromError(err, 'Datastore error');
}
}
......
......@@ -573,13 +573,13 @@ class NNIManager implements Manager {
await Promise.all([
this.periodicallyUpdateExecDuration(),
this.pingDispatcher().catch((err: Error) => {
throw new NNIError('Dispatcher error', `Dispatcher error: ${err.message}`, err);
throw NNIError.FromError(err, 'Dispatcher error: ');
}),
this.trainingService.run().catch((err: Error) => {
throw new NNIError('Training service error', `Training service error: ${err.message}`, err);
throw NNIError.FromError(err, 'Training service error: ');
}),
this.manageTrials().catch((err: Error) => {
throw new NNIError('Job management error', `Job management error: ${err.message}`, err);
throw NNIError.FromError(err, 'Job management error: ');
})]);
}
......@@ -591,13 +591,13 @@ class NNIManager implements Manager {
}
this.trainingService.addTrialJobMetricListener((metric: TrialJobMetric) => {
this.onTrialJobMetrics(metric).catch((err: Error) => {
this.criticalError(new NNIError('Job metrics error', `Job metrics error: ${err.message}`, err));
this.criticalError(NNIError.FromError(err, 'Job metrics error: '));
});
});
this.dispatcher.onCommand((commandType: string, content: string) => {
this.onTunerCommand(commandType, content).catch((err: Error) => {
this.criticalError(new NNIError('Tuner command event error', `Tuner command event error: ${err.message}`, err));
this.criticalError(NNIError.FromError(err, 'Tuner command event error: '));
});
});
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment