diff --git a/java/core/src/main/java/com/google/protobuf/GeneratedMessageV3.java b/java/core/src/main/java/com/google/protobuf/GeneratedMessageV3.java index af3556dc86..ab9581acda 100644 --- a/java/core/src/main/java/com/google/protobuf/GeneratedMessageV3.java +++ b/java/core/src/main/java/com/google/protobuf/GeneratedMessageV3.java @@ -940,7 +940,7 @@ public abstract class GeneratedMessageV3 extends AbstractMessage implements Seri protected MapField internalGetMapField(int fieldNumber) { // Note that we can't use descriptor names here because this method will // be called when descriptor is being initialized. - throw new RuntimeException("No map fields found in " + getClass().getName()); + throw new IllegalArgumentException("No map fields found in " + getClass().getName()); } /** Like {@link #internalGetMapField} but return a mutable version. */ @@ -1988,7 +1988,7 @@ public abstract class GeneratedMessageV3 extends AbstractMessage implements Seri try { return clazz.getMethod(name, params); } catch (NoSuchMethodException e) { - throw new RuntimeException( + throw new IllegalStateException( "Generated message class \"" + clazz.getName() + "\" missing method \"" + name + "\".", e); } @@ -2001,8 +2001,8 @@ public abstract class GeneratedMessageV3 extends AbstractMessage implements Seri try { return method.invoke(object, params); } catch (IllegalAccessException e) { - throw new RuntimeException( - "Couldn't use Java reflection to implement protocol message " + "reflection.", e); + throw new IllegalStateException( + "Couldn't use Java reflection to implement protocol message reflection.", e); } catch (InvocationTargetException e) { final Throwable cause = e.getCause(); if (cause instanceof RuntimeException) { @@ -2010,7 +2010,7 @@ public abstract class GeneratedMessageV3 extends AbstractMessage implements Seri } else if (cause instanceof Error) { throw (Error) cause; } else { - throw new RuntimeException( + throw new IllegalStateException( "Unexpected exception thrown by generated accessor method.", cause); } } @@ -2029,7 +2029,7 @@ public abstract class GeneratedMessageV3 extends AbstractMessage implements Seri protected MapField internalGetMapField(int fieldNumber) { // Note that we can't use descriptor names here because this method will // be called when descriptor is being initialized. - throw new RuntimeException("No map fields found in " + getClass().getName()); + throw new IllegalArgumentException("No map fields found in " + getClass().getName()); } /**