当前位置: 首页 > 知识库问答 >
问题:

NoSuchMethodError,widgets库捕获的异常

吕承望
2023-03-14
class calculator {
  calculator({this.height, this.weight});
  final int height;
  final int weight;
  double _bmi;
  String calculatebmi() {
    _bmi = (weight / pow(height / 100, 2));
    return _bmi.toStringAsFixed(1);
  }

  String getresult() {
    if (_bmi >= 25) {
      return 'Overweight';
    } else if (_bmi > 18.5) {
      return 'Normal';
    } else {
      return 'Underweight';
    }
    return ' ';
  }

  String getRemarks() {
    if (_bmi >= 25) {
      return 'Your weight is more than average body weight, try to excercise.';
    } else if (_bmi > 18.5) {
      return 'Your weight is normal';
    } else {
      return 'Your weight is less than average body weight, try to eat more';
    }
  }
}
`GestureDetector(  
onTap: () {
calculator cal = calculator(height: height, weight: weight);
Navigator.push(context, MaterialPageRoute(builder: (context) => results(result: calculator().getresult(), bmi: calculator().calculatebmi(), remarks: calculator().getRemarks())));
},)`

共有1个答案

羊舌炯
2023-03-14

发生问题是因为value_bmi为NULL。这是因为您没有调用calculatebmi()。

您正在使用calculator()的空参数计算BMI。所以,与其设置

bmi:calculator().getresult();

用作:

bmi : cal.getresult();         // You already have insteance of calculator (cal)
 类似资料:
  • export class SearchService { ... .map((response) => response.json()) .catch((e) => { if (e.status >== 500) { return cachedVersion(); new Error(`${ e.status

  • 问题内容: 我正在为Android开发Java应用程序,目前遇到了一个问题,调试器正在进入catch块,并且ex为何为null?有人看过这样的东西吗? 问题答案: 这听起来像源代码,并且编译的类不同步,因此调试器正在进入错误的块。 尝试进行清理,然后进行重建。

  • 5.10. Recover捕获异常 通常来说,不应该对panic异常做任何处理,但有时,也许我们可以从异常中恢复,至少我们可以在程序崩溃前,做一些操作。举个例子,当web服务器遇到不可预料的严重问题时,在崩溃前应该将所有的连接关闭;如果不做任何处理,会使得客户端一直处于等待状态。如果web服务器还在开发阶段,服务器甚至可以将异常信息反馈到客户端,帮助调试。 如果在deferred函数中调用了内置函

  • 异常处理器放在 catch 块中。每个catch块以关键字catch开始,接着是括号内包含的类型(表示该块处理的异常类型)和可选参敷名.后面是用花括号括起来的描述异常处理器的代码。捕获异常时,执行 catch 块中的代码。 catch 处理器定义自己的范围。catch在括号中指定要捕获的对象类型。cateh处理器中的参数可以命名也可以无名。如果是命名参数,则可以在处理器中引用这个参数。如果是无名参

  • 我正在查看Java SE7的新功能,目前我正在: http://docs.oracle.com/javase/7/docs/technotes/guides/language/catch-multiple.html 关于捕获多重功能,当我遇到这个语句时: 注意:如果一个捕捉块处理多个异常类型,那么捕捉参数是隐式最终的。在这个例子中,捕捉参数ex是最终的,因此您不能在捕捉块中给它赋值。 我从未注意到