title: Android - When does insertOrThrow() throw an exception?
body: <p>Before reading the documentation, I would have expected <a href="https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html" rel="nofollow">SQLiteDatabase</a>'s <code>insertOrThrow()</code> method to have thrown an exception if the insert wasn't successful.</p>
  
  <p>However, the <a href="https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#insertOrThrow(java.lang.String,%20java.lang.String,%20android.content.ContentValues)" rel="nofollow">documentation</a> says that the <code>insertOrThrow()</code> method </p>
  
  <blockquote>
    <p>returns the row ID of the newly inserted row, or <strong>-1 if an error occurred</strong> </p>
  </blockquote>
  
  <p>So, if it returns <code>-1</code> when an error occurs, under what circumstances does it throw an exception?</p>