Added ShadowSQLiteDatabase#insertOrThrow
diff --git a/src/main/java/com/xtremelabs/robolectric/shadows/ShadowSQLiteDatabase.java b/src/main/java/com/xtremelabs/robolectric/shadows/ShadowSQLiteDatabase.java
index 6217bf3..753ab46 100644
--- a/src/main/java/com/xtremelabs/robolectric/shadows/ShadowSQLiteDatabase.java
+++ b/src/main/java/com/xtremelabs/robolectric/shadows/ShadowSQLiteDatabase.java
@@ -45,6 +45,7 @@
     private boolean mLockingEnabled = true;
     private WeakHashMap<SQLiteClosable, Object> mPrograms;
     private boolean transactionSuccess = false;
+    private boolean throwOnInsert;
     
     @Implementation
     public void setLockingEnabled(boolean lockingEnabled) {
@@ -61,6 +62,10 @@
         mLock.unlock();
     }
     
+    public void setThrowOnInsert(boolean throwOnInsert) {
+        this.throwOnInsert = throwOnInsert;
+    }
+    
     @Implementation
     public static SQLiteDatabase openDatabase(String path, SQLiteDatabase.CursorFactory factory, int flags) {
      	connection = DatabaseConfig.getMemoryConnection();
@@ -71,6 +76,13 @@
     public long insert(String table, String nullColumnHack, ContentValues values) {
         return insertWithOnConflict(table, nullColumnHack, values, SQLiteDatabase.CONFLICT_NONE);
     }
+    
+    @Implementation
+    public long insertOrThrow(String table, String nullColumnHack, ContentValues values) {
+        if (throwOnInsert)
+            throw new android.database.SQLException();
+        return insertWithOnConflict(table, nullColumnHack, values, SQLiteDatabase.CONFLICT_NONE);
+    }
 
     @Implementation
     public long replace(String table, String nullColumnHack, ContentValues values) {