diff --git a/src/main/java/net/floodlightcontroller/packet/ARP.java b/src/main/java/net/floodlightcontroller/packet/ARP.java
index e6a19ef2ba4b9ab86f40d9aebeb200ce3055459a..bf3f49385f440f8ed07571c38d341b13ab19e080 100644
--- a/src/main/java/net/floodlightcontroller/packet/ARP.java
+++ b/src/main/java/net/floodlightcontroller/packet/ARP.java
@@ -233,18 +233,14 @@ public class ARP extends BasePacket {
         this.hardwareAddressLength = bb.get();
         this.protocolAddressLength = bb.get();
         if (this.hardwareAddressLength != 6) {
-            if (log.isTraceEnabled()) {
-                log.trace("Incorrect ARP hardware address length: {}",
-                        hardwareAddressLength);
-            }
-            throw new PacketParsingException();
+            String msg = "Incorrect ARP hardware address length: " +
+                        hardwareAddressLength;
+            throw new PacketParsingException(msg);
         }
         if (this.protocolAddressLength != 4) {
-            if (log.isTraceEnabled()) {
-                log.trace("Incorrect ARP protocol address length: {}",
-                        protocolAddressLength);
-            }
-            throw new PacketParsingException();
+            String msg = "Incorrect ARP protocol address length: " +
+                        protocolAddressLength;
+            throw new PacketParsingException(msg);
         }
         this.opCode = bb.getShort();
         this.senderHardwareAddress = new byte[0xff & this.hardwareAddressLength];
diff --git a/src/main/java/net/floodlightcontroller/packet/BSN.java b/src/main/java/net/floodlightcontroller/packet/BSN.java
index 489e4bc3c65e22e217d47dc97daae0d3e9f9bbe0..676f54d48199b3734969171633247f6beddc4431 100644
--- a/src/main/java/net/floodlightcontroller/packet/BSN.java
+++ b/src/main/java/net/floodlightcontroller/packet/BSN.java
@@ -102,13 +102,13 @@ public class BSN extends BasePacket {
 
         int magic = bb.getInt();
         if (magic != BSN_MAGIC) {
-            throw new RuntimeException("Invalid BSN magic " + magic);
+            throw new PacketParsingException("Invalid BSN magic " + magic);
         }
 
         this.type = bb.getShort();
         this.version = bb.getShort();
         if (this.version != BSN_VERSION_CURRENT) {
-            throw new RuntimeException(
+            throw new PacketParsingException(
                     "Invalid BSN packet version " + this.version + ", should be "
                     + BSN_VERSION_CURRENT);
         }
diff --git a/src/main/java/net/floodlightcontroller/packet/IPv4.java b/src/main/java/net/floodlightcontroller/packet/IPv4.java
index 064ad31e81409941260530aea1fa4323871c0c77..61d9730ba2040dd330e951f574b7c8471dcc051b 100644
--- a/src/main/java/net/floodlightcontroller/packet/IPv4.java
+++ b/src/main/java/net/floodlightcontroller/packet/IPv4.java
@@ -362,7 +362,8 @@ public class IPv4 extends BasePacket {
         this.headerLength = (byte) (this.version & 0xf);
         this.version = (byte) ((this.version >> 4) & 0xf);
         if (this.version != 4) {
-            throw new RuntimeException("Invalid version for IPv4 packet: " +
+            throw new PacketParsingException(
+                    "Invalid version for IPv4 packet: " +
                     this.version);
         }
         this.diffServ = bb.get();
diff --git a/src/main/java/net/floodlightcontroller/packet/PacketParsingException.java b/src/main/java/net/floodlightcontroller/packet/PacketParsingException.java
index 63e6410cb1ae4b483d210ca7eabccf8c7c5656eb..f27629de8c097516045c00be22ad4ae007994efd 100644
--- a/src/main/java/net/floodlightcontroller/packet/PacketParsingException.java
+++ b/src/main/java/net/floodlightcontroller/packet/PacketParsingException.java
@@ -18,6 +18,10 @@ package net.floodlightcontroller.packet;
 
 public class PacketParsingException extends Exception {
 
+    public PacketParsingException(String msg) {
+        super(msg);
+    }
+
     private static final long serialVersionUID = -1177841297678875573L;
 
-}
+}
\ No newline at end of file
diff --git a/src/main/java/net/floodlightcontroller/packet/TCP.java b/src/main/java/net/floodlightcontroller/packet/TCP.java
index 2153378853818fd62d75ae21b9c1518b8b37f35a..6af5932a55c15d9e4b5729ff6eac8998c9dc16eb 100644
--- a/src/main/java/net/floodlightcontroller/packet/TCP.java
+++ b/src/main/java/net/floodlightcontroller/packet/TCP.java
@@ -268,7 +268,7 @@ public class TCP extends BasePacket {
         this.flags = bb.getShort();
         this.dataOffset = (byte) ((this.flags >> 12) & 0xf);
         if (this.dataOffset < 5) {
-            throw new RuntimeException("Invalid tcp header length < 20");
+            throw new PacketParsingException("Invalid tcp header length < 20");
         }
         this.flags = (short) (this.flags & 0x1ff);
         this.windowSize = bb.getShort();