Flutter 是否有可能通过Dart代码使发布构建失败?

Flutter 是否有可能通过Dart代码使发布构建失败?,flutter,debugging,dart,Flutter,Debugging,Dart,有没有一种方法可以使构建在发布模式下失败(通过Dart代码),而不是在调试模式下失败?有时,防止调试代码部署在发行版中会很有用 我知道我可以使用kDebugMode/kReleaseMode检查构建模式,例如执行以下操作: bool uploadFile(File file){ // DEBUG Test our fallback logic if the file upload fails if( kDebugMode ) return false; // M

有没有一种方法可以使构建在发布模式下失败(通过Dart代码),而不是在调试模式下失败?有时,防止调试代码部署在发行版中会很有用

我知道我可以使用
kDebugMode
/
kReleaseMode
检查构建模式,例如执行以下操作:

bool uploadFile(File file){
    // DEBUG Test our fallback logic if the file upload fails
    if( kDebugMode ) return false;
    
    // More code...
}
很好,但现在您必须记住,最终要删除所有
//DEBUG
注释和/或
kDebugMode
的使用,否则一年后当客户体验到一件事,而开发人员体验到另一件事时,您就要冒着故障排除的风险,因为一个
kDebugMode
在代码的深处留下了一个没有人想去寻找或搜索它的地方

如果有一种方法可以显式地强制开发人员删除此类调试代码,那就太好了。使发布构建失败将是至少确保在构建下一个发布版本之前删除它们的一种方法

bool uploadFile(File file){
    // DEBUG Test our fallback logic if the file upload fails
    if( onlyAllowInDebugBuild() ) return false;
    
    // More code...
}
注意:我不是说在发布模式下运行应用程序时代码应该失败,而是在构建发布APK/AppBundle/iOS app/etc时代码应该失败

> flutter build apk --release 
FAILURE: Build failed with an exception.
Please remove debug code before building a release version!
这样的事情可能吗