Android Studio 尝试在try catch块中 Package 一些flutter代码,但它出错了

frebpwbc  于 2023-01-05  发布在  Android
关注(0)|答案(1)|浏览(108)

尝试在try catch块中 Package 一些flutter代码,它会出错。
我得到错误“预期类成员。尝试将此代码放入类成员内”以下是mu代码片段

``import 'package:http/http.dart';
  import 'dart:convert';

class WorldTime {

  String location; //location name for the UI
  late String time; //time in that location
  String flag; //url to asset flag icon
  String url; //location url for api endpoint

  WorldTime(this.location, this.time, this.flag, this.url);

  try{
  Future<void> getTime() async {
    Response response = await get(
        Uri.parse('http://worldtimeapi.org/api/timezone/$url'));
    Map data = jsonDecode(response.body);
    //print(data);
    String dateTime = data['datetime'];
    String offSet = data['utc_offset'].substring(1, 3);
    DateTime now = DateTime.parse(dateTime);
    now = now.add(Duration(hours: int.parse(offSet)));
    time = now.toString();
  }
}
  catch(e){

  }
}`
`

我在网上看了一些例子,想找出我可能做错了什么,但没有什么能让我跳出来,尽管我是个新手。

hk8txs48

hk8txs481#

像这样修改代码,

Future<void> getTime() async {
      try{
        Response response = await get(
            Uri.parse('http://worldtimeapi.org/api/timezone/$url'));
        Map data = jsonDecode(response.body);
        //print(data);
        String dateTime = data['datetime'];
        String offSet = data['utc_offset'].substring(1, 3);
        DateTime now = DateTime.parse(dateTime);
        now = now.add(Duration(hours: int.parse(offSet)));
        time = now.toString();
      }catch(e){
        print(e);
      }
    }

try catch块应位于方法getTime()内。

相关问题