2013-01-04 2 views
1

저는 현재 Android에서 인앱 결제 프로세스를 사용하고 있으며 구매 프로세스 중에 발생할 수있는 수많은 예외 및 문제가 있습니다. 내 앱이 "[App]를 닫아야 만합니다."라고 표시하기 때문에 프로그램 오류 처리의 개념을 완전히 이해하지 못하는 것처럼 보입니다.예외를 표시하는 '방법'이 더 좋습니까?

throw new IllegalStateException("Billing is not set up. Can't perform operation: " + operation); 

왜이 오류가 그런 식으로 사용자에게 표시되지 않습니다 코드에 정의 된

는 로그 캣 그러나, 나는 예외 메시지가 표시?

+1

예외를 처리합니까? try catch 블록에 코드가 래핑 되었습니까? – Namphibian

+0

은 예외를 캡쳐하고 토스트 또는 AlertDialog에 표시합니다. – itsrajesh4uguys

답변

1

일부 시나리오에서 예외가 예상되는 경우 try catch (및 때로는 finally) 블록을 구현하여 방어 코드를 작성해야합니다. 이 리소스를 살펴보십시오. - Java Exceptions

예상되는 오류를 지정하고 그에 따라 처리하십시오. 나는 응용 프로그램이 'Toast'팝업 또는 리디렉션과 함께 결제 설정으로 돌아올 것으로 기대합니다.

참고 : 예외가 발생하는 이유를 신경 쓰지 않고 모든 예외를 catch하는 것은 매우 바람직하지 않은 습관입니다. 예외 잡기에서 구체적으로 시도하십시오. 때로는 지불을하고 물품을 전달하지 않고 내 앱이 추락하는 것을 선호합니다.

try { 

    // your billing code 

} catch (IllegalStateException e) { 

    //Handle exception - Would probably want to match the contents of e to your message 
    defined to ensure it is the correct exception (In case you've defined many of the same type) 

} 
2

사용자에게 훌륭하고 깨끗한 오류 메시지를 제공하려면 crouton을 사용해보십시오. 이들의 프로젝트 웹 사이트에서 살펴 보자 : 이것은 당신이에 Beautyfull 메시지를 만들 수 있습니다 위로 문제에 Crouton Homepage


를, 요점은 당신이 단지에서 찾을 수있는 오류 메시지를하고있는 것입니다 Logcatlog. 사용자에게 보여주고 싶다면 Toast Message 또는 Alertmessage를 시도하십시오. 내가 무엇을 봐야하든간에 @ 크로톤! 어떤 상황에서, 그것은 예외에게 주어진 메시지를 표시하는 것은 바람직하지 때문에

안부

사파리

+1

예 또는 앱내 구매가 실패했다는 메시지가 누락되지 않도록하는 대화 상자 – jcw

0

나는 생각합니다. 예외 상황에서 제공되는 일부 정보는 반드시 사용자에게 표시되어야하는 정보는 아닙니다.

예 : Twitter 피드를 표시하는 웹 응용 프로그램을 작성한 적이 있습니다. OAuth를 제대로 구성하지 않으면 OAuth가 올바르게 구성되지 않았다는 메시지와 함께 예외가 발생하지만 이는 정보가 아닙니다. 사용자는보아야하지만 관리자/개발자. 물론이 예외를 기록하고 "Twitter 피드가 제대로 작동하지 않고 관리자에게 문의"와 같이 사용자에게보다 적절한 메시지를 표시 할 수 있습니다.

제 생각에는 혼자서 예외를 처리하는 것이 좋습니다. 그렇게하면 사용자에게 표시 할 메시지와 메시지가 제어 할 수없는 메시지를 제어 할 수 있습니다.

관련 문제