ดูที่รหัสไบต์หากสิ่งที่ส่งคืนไม่ตรงกับข้อกำหนดคุณจะได้รับข้อผิดพลาดในการคอมไพล์  
ตัวอย่าง:
for(;;) จะแสดง bytecodes:
L0
    LINENUMBER 6 L0
    FRAME SAME
    GOTO L0
สังเกตการขาด bytecode ที่ส่งคืนใด ๆ
สิ่งนี้ไม่เคยถูกตีคืนดังนั้นจึงไม่ส่งคืนชนิดที่ไม่ถูกต้อง
สำหรับการเปรียบเทียบวิธีการเช่น:
public String getBar() { 
    return bar; 
}
จะส่งคืนโค้ดไบต์ต่อไปนี้:
public java.lang.String getBar();
    Code:
      0:   aload_0
      1:   getfield        #2; //Field bar:Ljava/lang/String;
      4:   areturn
สังเกต "areturn" ซึ่งหมายถึง "คืนการอ้างอิง"
ตอนนี้ถ้าเราทำต่อไปนี้:
public String getBar() { 
    return 1; 
}
จะส่งคืนโค้ดไบต์ต่อไปนี้:
public String getBar();
  Code:
   0:   iconst_1
   1:   ireturn
ตอนนี้เราสามารถเห็นได้ว่าประเภทในคำจำกัดความไม่ตรงกับประเภทคืนของ ireturn ซึ่งหมายถึง return int
ดังนั้นสิ่งที่เกิดขึ้นจริง ๆ ก็คือหากวิธีการนั้นมีเส้นทางการส่งคืนเส้นทางนั้นจะต้องตรงกับประเภทการคืนสินค้า แต่มีอินสแตนซ์ในไบต์ที่ไม่มีเส้นทางการส่งคืนถูกสร้างขึ้นและทำให้ไม่ผิดกฎ