Description
consider the following *.avsc file:
Exception.avsc
{ "type": "record", "name": "Exception", "namespace": "com.acme", "fields" : [ {"name": "value", "type": "int"} ], "doc": "Will not submit to your fascist naming conventions" }
the generated java code will contain:
Exception.java
... @override public Exception build() { try { ... return record; } catch (Exception e) { //boom throw new org.apache.avro.AvroRuntimeException(e); } }
which fails to compile because Exception refers to the generated class (which does not extend Throwable)