anchor.diff:  }).catch(onRejected);
   ----
   
  -これは、<<Promise.reject>> を使うことでもっと簡潔に書くことが出来ます。
  +使用 <<Promise.reject>> 的话还能再将代码进行简化。
   
   [role="executable"]
   [source,javascript]
  
positive.code: * 使用 `reject` 会比使用 `throw` 安全
  * 在 `then` 中使用reject的方法
  
  中々使いどころが多くはないかもしれませんが、安易に `throw` してしまうよりはいい事が多いので、
  覚えておくといいでしょう。
  
  これを利用した具体的な例としては、
  <<race-delay-timeout,Promise.raceとdelayによるXHRのキャンセル>> で解説しています。
negative.code: })
  ----
  
  其实我们也可以这么来考虑，在出错的时候我们并没有调用 `throw` 方法，而是使用了 `reject` ，那么给 `reject` 方法传递一个Error类型的对象也就很好理解了。
  
  === 使用reject有什么优点？
  
  话说回来，为什么在想将promise对象的状态设置为Rejected的时候应该使用 `reject` 而不是 `throw` 呢？
  
  首先是因为我们很难区分 `throw` 是我们主动抛出来的，还是因为真正的其它 **异常** 导致的。
  
  比如在使用Chrome浏览器的时候，Chrome的开发者工具提供了在程序发生异常的时候自动在调试器中break的功能。
  
  .Pause On Caught Exceptions
  image::img/chrome_on_caught_exception.png[Pause On Caught Exceptions]
  
  当我们开启这个功能的时候，在执行到下面代码中的 `throw` 时就会触发调试器的break行为。
  
  [source,javascript]
  ----
  