条件Java时无法访问的语句

时间:2018-01-02 12:52:59

标签: java if-statement bluej unreachable-statement

// Create a Stripe client
var stripe = Stripe('pk_test_xx96UepEgmX12vaKbpJp1p70');

// Create an instance of Elements
var elements = stripe.elements();

// Custom styling can be passed to options when creating an Element.
// (Note that this demo uses a wider set of styles than the guide below.)
var style = {
  base: {
    color: '#32325d',
    lineHeight: '18px',
    fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
    fontSmoothing: 'antialiased',
    fontSize: '16px',
    '::placeholder': {
      color: '#aab7c4'
    }
  },
  invalid: {
    color: '#fa755a',
    iconColor: '#fa755a'
  }
};

// Create an instance of the card Element
var card = elements.create('card', {style: style});

// Add an instance of the card Element into the `card-element` <div>
card.mount('#card-element');

// Handle real-time validation errors from the card Element.
card.addEventListener('change', function(event) {
  var displayError = document.getElementById('card-errors');
  if (event.error) {
    displayError.textContent = event.error.message;
  } else {
    displayError.textContent = '';
  }
});

// Handle form submission
var form = document.getElementById('payment-form');
form.addEventListener('submit', function(event) {
  event.preventDefault();

  stripe.createToken(card).then(function(result) {
    console.log('card-result', result);
    if (result.error) {
      // Inform the user if there was an error
      var errorElement = document.getElementById('card-errors');
      errorElement.textContent = result.error.message;
    } else {
      // Send the token to your server
    }
  });

嘿,我不明白为什么返回0.0应该是一个无法访问的语句。 我试图建立一个方法,将一个数字四舍五入到给定的小数位。

除此之外还有遗漏的退货声明。

感谢您的帮助!

5 个答案:

答案 0 :(得分:3)

如果您的方法抛出异常,它也无法返回值。

您必须选择是否抛出异常:

if (n < 0) {
    throw new IllegalArgumentException("Anzahl der Nachkommastellen darf nicht negativ sein.");
}

或要返回0.0

if (n < 0) {
    return 0.0 ;
}

但你不能同时做到这两点。

如果您的条件都不属实,您必须有最终的退货声明。添加一个return语句作为方法的最终语句。

答案 1 :(得分:1)

您没有错过退货声明。其实你有额外的。一旦抛出异常,执行就会终止。因此,没有机会达到这种回报。因此返回线无法到达。根据您的业务选择一个。返回或异常。

答案 2 :(得分:0)

你之前的声明抛出异常。

这结束了方法的执行。

您可能会因随机缩进和大括号放置而感到困惑。您应该尝试坚持标准格式。编写干净的代码有助于避免错误。

答案 3 :(得分:0)

通过抛出异常,您将阻止该方法再执行。
如果没有捕获异常,整个线程将被中断并关闭。

如果您不想要,请返回一些只能表示错误的值

答案 4 :(得分:0)

当你抛出异常时,java编译器停止执行当前方法,并且控件移出当前方法, 我建议你为你的问题使用if else语句,这样如果第一个条件为true,它就不会跳过命令“return 0.0”