如何使用“尝试捕获”在颤音中进行错误处理

发布于 2025-02-13 04:17:48 字数 1260 浏览 0 评论 0原文

我有一个API端点,当我插入重复条目时返回错误响应。我需要使用尝试捕获量捕获此错误响应,以便将此响应作为吐司消息传递。这是我尝试过的API响应结构和API消耗代码:

// companyService
Future<Object?> createCompany(Company company) async {
try {
  var content = jsonEncode(company.toJson());
  accessToken = await sharedPref.read(key);
  searchUrl = "$baseUrl/company";
  var response = await http.post(
    Uri.parse(searchUrl),
    body: content,
    headers: {
      "Content-Type": "application/json",
      "Authorization": "Bearer $accessToken",
    },
  );
  if (response.statusCode == 201) {
    return company;
  } else {
    return null;
  }
} catch (e) {
  print('objectError: $e');
  return e;    
}

// companyFactory
createCompany(
  name,
  domain,
  address,
  cityId,
) async {
  final company = Company(
    name: name,
    domain: domain,
    address: address,
    cityId: cityId,
  );     
try {
  CompanyService requests = CompanyService();
  await requests.createCompany(company);
  return company;
} catch (e) {
  print('objectError: $e');
  return e;
}
  }

I have an API endpoint that returns an error response when I insert a duplicate entry. I need to capture this error response using the try catch so I can pass this response as a toast message. Here is the api response structure and the api consumption code I have tried:
enter image description here

// companyService
Future<Object?> createCompany(Company company) async {
try {
  var content = jsonEncode(company.toJson());
  accessToken = await sharedPref.read(key);
  searchUrl = "$baseUrl/company";
  var response = await http.post(
    Uri.parse(searchUrl),
    body: content,
    headers: {
      "Content-Type": "application/json",
      "Authorization": "Bearer $accessToken",
    },
  );
  if (response.statusCode == 201) {
    return company;
  } else {
    return null;
  }
} catch (e) {
  print('objectError: $e');
  return e;    
}

// companyFactory
createCompany(
  name,
  domain,
  address,
  cityId,
) async {
  final company = Company(
    name: name,
    domain: domain,
    address: address,
    cityId: cityId,
  );     
try {
  CompanyService requests = CompanyService();
  await requests.createCompany(company);
  return company;
} catch (e) {
  print('objectError: $e');
  return e;
}
  }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文