核心概念
错误处理
当你使用 Node.js SDK 与 PaymentKit API 交互时,网络问题或无效参数可能会导致操作失败。SDK 通过抛出异常来处理这些情况。正确的错误处理对于构建可靠的应用程序至关重要。
本指南解释了如何使用标准的 JavaScript try...catch 块来有效捕获和处理错误。
捕获错误#
SDK 中的所有异步方法都返回 Promises,这使你可以使用 async/await 语法,并将 API 调用包装在 try...catch 语句中,从而妥善地管理潜在的失败。
当 API 调用失败时,SDK 会抛出一个包含问题相关信息的错误对象。此错误对象的 message 属性提供了清晰、易于人类阅读的错误描述。
示例:处理失败的请求
import payment from '@blocklet/payment-js';
async function safeRetrieveSubscription(subscriptionId) {
try {
// 尝试检索订阅
const subscription = await payment.subscriptions.retrieve(subscriptionId);
console.log('已检索到订阅:', subscription);
return subscription;
} catch (error) {
// 如果请求失败,错误会在这里被捕获
console.error(`未能检索订阅 ${subscriptionId}:`, error.message);
// 你可以在此处添加处理失败的逻辑,例如,向用户显示一条消息
return null;
}
}
// 使用不存在的 ID 来触发错误的示例用法
safeRetrieveSubscription('sub_invalid_id');在此示例中,如果 payment.subscriptions.retrieve 失败(例如,因为 ID 不正确或存在网络问题),代码执行会跳转到 catch 块,从而防止应用程序崩溃,并允许你记录错误并做出适当响应。
错误处理流程#
下图说明了 SDK 方法调用的典型控制流程:
TypeScript 支持#
如果你正在使用 TypeScript,SDK 会提供完整的类型定义,包括错误对象的定义。这使你可以捕获特定类型的错误,以实现更精确的错误处理逻辑,从而增强应用程序的稳健性。
在对错误处理有了扎实的理解后,你将能更好地构建稳健的支付集成。现在,你可以继续在我们的使用指南中探索实际的实现。