用户登录

我们可以在应用里定义一个基本的异常,然后让其它的异常继承这个基本的异常,这样在处理异常的时候可以处理这个基本的异常,也可以处理某个特定类型的异常。

新建一个文件,放在 lib/app/exceptions 里面,名字是 app_exception.dart ,在这个文件里定义一个类,名字是 AppException 让它 implements 一下 Exception。在里面添加一个属性,类型是 String 名字是 message ,添加一个构造方法 AppException ,里面有个可选参数,this.message ,默认值是空白字符。

再定义一个方法,返回的值是 String,方法的名字叫 toString ,return 的东西是一个字符串,里面可以先用一下 this.runtimeType,这个 runtimeType 是类的名字,然后再加上 message 这个属性的值。

validate_exception.dart

下面再定义一个异常,让它继承一下这个 AppException,新建一个文件,放在 lib/app/exceptions 里面,名字是 validate_exception.dart,验证数据出问题的时候可以 throw 一个这种异常。定义一个类,名字是 ValidateException ,让它继承一下 AppException 。定义一个构造方法,ValidateException,有个可选的参数,this.message ,默认值是 未通过数据验证。执行一下父类的构造方法,提供一个 message。

这样如果 throw 这个 ValidateException ,处理异常的时候,可以使用异常里的 message 属性的值。

http_exception.dart

再用同样的方法修改一下 HttpException,打开 http_exception.dart,修改一下它,先复制一下这个 message 默认的值。然后让这个类 extends 一下 AppException 。去掉 message 属性,修改一下构造方法,去掉方法的主体,方法有个可选的参数,类型是 String,名字叫 message,默认值就是刚才复制的这个字符串。

最后再把这个 toString 方法删除掉。

重新定义异常《 Flutter 2:创建内容 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点