Index: src/test/java/org/apache/james/mime4j/field/FieldTest.java
===================================================================
--- src/test/java/org/apache/james/mime4j/field/FieldTest.java	(revision 722193)
+++ src/test/java/org/apache/james/mime4j/field/FieldTest.java	(working copy)
@@ -19,12 +19,6 @@
 
 package org.apache.james.mime4j.field;
 
-import org.apache.james.mime4j.MimeException;
-import org.apache.james.mime4j.field.ContentTransferEncodingField;
-import org.apache.james.mime4j.field.ContentTypeField;
-import org.apache.james.mime4j.field.Field;
-import org.apache.james.mime4j.field.UnstructuredField;
-
 import junit.framework.TestCase;
 
 /**
@@ -46,9 +40,9 @@
         
         try {
             f = Field.parse("Yada yada yada");
-            fail("MimeException not thrown when using an invalid "
+            fail("IllegalArgumentException not thrown when using an invalid "
                     + "field");
-        } catch (MimeException e) {
+        } catch (IllegalArgumentException e) {
         }
     }
 
Index: src/main/java/org/apache/james/mime4j/field/Field.java
===================================================================
--- src/main/java/org/apache/james/mime4j/field/Field.java	(revision 722193)
+++ src/main/java/org/apache/james/mime4j/field/Field.java	(working copy)
@@ -22,8 +22,6 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.apache.james.mime4j.MimeException;
-
 /**
  * The base class of all field classes.
  *
@@ -52,7 +50,7 @@
                                         "Content-Transfer-Encoding";
     
     private static final String FIELD_NAME_PATTERN = 
-        "^([\\x21-\\x39\\x3b-\\x7e]+)[ \t]*:";
+        "^([\\x21-\\x39\\x3b-\\x7e]+):";
     private static final Pattern fieldNamePattern = 
         Pattern.compile(FIELD_NAME_PATTERN);
         
@@ -82,9 +80,9 @@
      * 
      * @param raw the string to parse.
      * @return a <code>Field</code> instance.
-     * @throws MimeException on parse errors.
+     * @throws IllegalArgumentException on parse errors.
      */
-    public static Field parse(final String raw) throws MimeException {
+    public static Field parse(final String raw) {
         
         /*
          * Unfold the field.
@@ -96,7 +94,11 @@
          */
         final Matcher fieldMatcher = fieldNamePattern.matcher(unfolded);
         if (!fieldMatcher.find()) {
-            throw new MimeException("Invalid field in string");
+            // We don't have to throw a MimeException because this error can
+            // never happen when Field.parse() is called by a ContentHandler.
+            // org.apache.james.mime4j.parser.AbstractEntity drops header
+            // lines that do not start with a valid field name.
+            throw new IllegalArgumentException("Invalid field in string");
         }
         final String name = fieldMatcher.group(1);
         
Index: src/main/java/org/apache/james/mime4j/message/SimpleContentHandler.java
===================================================================
--- src/main/java/org/apache/james/mime4j/message/SimpleContentHandler.java	(revision 722193)
+++ src/main/java/org/apache/james/mime4j/message/SimpleContentHandler.java	(working copy)
@@ -19,7 +19,6 @@
 
 package org.apache.james.mime4j.message;
 
-import org.apache.james.mime4j.MimeException;
 import org.apache.james.mime4j.decoder.Base64InputStream;
 import org.apache.james.mime4j.decoder.QuotedPrintableInputStream;
 import org.apache.james.mime4j.descriptor.BodyDescriptor;
@@ -75,7 +74,7 @@
      * @see org.apache.james.mime4j.parser.AbstractContentHandler#field(java.lang.String)
      */
     @Override
-    public final void field(String fieldData) throws MimeException {
+    public final void field(String fieldData) {
         currHeader.addField(Field.parse(fieldData));
     }
 
Index: src/main/java/org/apache/james/mime4j/message/Header.java
===================================================================
--- src/main/java/org/apache/james/mime4j/message/Header.java	(revision 722193)
+++ src/main/java/org/apache/james/mime4j/message/Header.java	(working copy)
@@ -76,7 +76,7 @@
                 parser.stop();
             }
             @Override
-            public void field(String fieldData) throws MimeException {
+            public void field(String fieldData) {
                 addField(Field.parse(fieldData));
             }
         });
Index: src/main/java/org/apache/james/mime4j/parser/AbstractEntity.java
===================================================================
--- src/main/java/org/apache/james/mime4j/parser/AbstractEntity.java	(revision 722193)
+++ src/main/java/org/apache/james/mime4j/parser/AbstractEntity.java	(working copy)
@@ -193,7 +193,7 @@
             boolean valid = true;
             field = fieldbuf.toString();
             int pos = fieldbuf.indexOf(':');
-            if (pos == -1) {
+            if (pos <= 0) {
                 monitor(Event.INALID_HEADER);
                 valid = false;
             } else {
