2012-12-29 1 views

답변

2

예 .catchall이 생성 될 수있는 경우 finally 블록이 하나입니다. 그러나 다른 용도로도 사용할 수 있습니다. 예를 들어 동기화 된 메소드의 경우 잠금을 해제 할 수 있도록 생성 할 수도 있습니다.

모든 핸들러가 dex-format 사양에 설명되어 캐치. 특히, code_item에 포함 된 encoded_catch_handler 항목에 있습니다.

classfile specification의 데이터와 동일한 부분도 관련이 있습니다. exception_table의 catch_type 항목을 참조하십시오.

+0

@JesysFreke 답변을 여러 번 upvote 할 수 있었으면 좋겠습니다. 이 문서는 코드를 읽는 데 도움이됩니다! 다시 한 번 감사드립니다! 내가 :) – monica

+0

지금 https://s.android.com/devices/tech/dalvik/dex-format.html 또는 https://source.android.com/devices/tech/dalvik/dex입니다 -format.html – JesusFreke

+1

링크를 도울 수 다행 –

2

너무 많이 생각할 수도 있습니다.

davlik 코드 생성기/변환기의 코드 생성 패턴이 무엇인지 묻고 있습니다. 내 경험에 의하면, 사람들은 컴파일러/코드 생성기가 덮개 아래에 무엇에 대한 자세한 설명을 작성하지 않습니다

  • 이러한 동작은 지정이 필요하지 않으며, 실제로 스펙은 해가 될 가능성이 높습니다.
  • 이러한 문서는 작성하고 유지 보수하는 데 비용이 많이 듭니다.
  • 이러한 문서에는 비용을 정당화하기위한 독자가 거의 없을 것입니다.

davlik 변환기의 소스 코드를보고 실제로 무엇을하는지 보시기 바랍니다. 덱스 형식 사양이 당신에게 출력 "언어"어떤 뜻을 준다


주 (... "캐치 올"에 대한 grepping보십시오). 이는 davlik 변환기 으로 제한 할 수 있지만 모든 경우에 실제로 번역자가 수행 할 작업을 알려주지는 않습니다.

+0

의견 및 제안에 감사드립니다. – monica

관련 문제