用 http 这个包发送请求,如果得到的不是正常的响应可以 throw 一个异常,下面我们可以自定义一个异常。
在项目下面新建一个文件放在 lib/app/exceptions 里面,名字可以是 http_exception.dart,在这个文件里定义一个类,名字是 HttpException,让它 implements 一下 Exception 这个类。
在这个类里面添加一个 String 类型的属性,名字叫 message,然后添加一个构造方法,HttpException,添加一个参数,this.message。
下面可以再覆盖一下 toString 这个方法,方法 return 的值是 HttpException 冒号,后面加上 message 这个属性的值,这样如果调用实例的 toJson 方法,得到的值就是这个方法返回的这个字符串。
现在发送网络请求得到非正常的响应数据的时候,就可以 throw 一个 HttpException。你也可以根据需要去定义不同类型的异常。这样在处理异常的时候,可以判断异常的类型,然后再去做相应的处理。