IgnoreError 是 Unify 提供的注解,主要用于修饰 UniNativeModule 模板中的协议方法
,它是可选的。它的作用是:忽略原生侧 Error 信息的感知。
@IgnoreError()
只能用于修饰 UniNativeModule 模板中的协议方法
。
Unify模板 | 对 或 错 | 备注 |
|
❎ |
参考上面的 |
|
✅ |
Unify 使用 UniNativeModule 模板生成原生代码时,默认情况下,会生成原生侧 Error 信息回传到 Flutter 侧的代码逻辑,以便在 Flutter 侧感知原生侧发生的异常。
在 iOS 端的体现是:生成的 Protocol 中的方法会默认带有一个block参数fail
,生成代码举例:
- (void)getDeviceInfo:(void(^)(DeviceInfoModel* result))success fail:(void(^)(FlutterError* error))fail
如果你不关心这个fail
参数,使用@IgnoreError()
修饰模板中对应的协议方法
,在生成 iOS 端的代码时,接口就不带fail
参数了。
这点,Android 端和 iOS 端有所不同,Android 端的主要体现不是在参数上。
而是,生成Android端代码时,会使用try catch
包裹Channel调用的核心逻辑,这部分逻辑是隐藏的,用户不会感知。一旦发生异常,Unify 会自动将catch
到的 Error 信息发送给 Flutter 侧。