mirror of
https://github.com/cs-lazy-tools/ChatGPT-On-CS.git
synced 2026-08-28 18:17:40 +08:00
47 lines
1.1 KiB
TypeScript
47 lines
1.1 KiB
TypeScript
import { APIError } from 'openai';
|
|
|
|
/**
|
|
* 构建错误
|
|
*
|
|
* @param code -
|
|
* @param message -
|
|
* @returns 错误
|
|
*/
|
|
export function makeAPIError(code: number, message: string) {
|
|
const error = { code, message };
|
|
|
|
switch (code) {
|
|
case 2:
|
|
return APIError.generate(500, error, message, {});
|
|
case 6: // permission error
|
|
case 111: // token expired
|
|
return APIError.generate(403, error, message, {});
|
|
case 17:
|
|
case 18:
|
|
case 19:
|
|
case 40407:
|
|
return APIError.generate(429, error, message, {});
|
|
case 110: // invalid token
|
|
case 40401: // invalid token
|
|
return APIError.generate(401, error, message, {});
|
|
case 336003: // invalid parameter
|
|
return APIError.generate(400, error, message, {});
|
|
case 336100: // try again
|
|
return APIError.generate(500, error, message, {});
|
|
default:
|
|
return APIError.generate(undefined, error, message, {});
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 如果 code 不为 0,抛出 APIError
|
|
*
|
|
* @param code -
|
|
* @param message -
|
|
*/
|
|
export function assertNonZero(code: number, message: string) {
|
|
if (code === 0) return;
|
|
|
|
throw makeAPIError(code, message);
|
|
}
|