{"action":"created","issue":{"url":"https://api.github.com/repos/martindevans/SupersonicSound/issues/19","labels_url":"https://api.github.com/repos/martindevans/SupersonicSound/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/martindevans/SupersonicSound/issues/19/comments","events_url":"https://api.github.com/repos/martindevans/SupersonicSound/issues/19/events","html_url":"https://github.com/martindevans/SupersonicSound/issues/19","id":109224058,"number":19,"title":"Discuss: Is it right to throw FmodInvalidHandleException when a channel has finished playing","user":{"login":"HakanL","id":407941,"avatar_url":"https://avatars.githubusercontent.com/u/407941?v=3","gravatar_id":"","url":"https://api.github.com/users/HakanL","html_url":"https://github.com/HakanL","followers_url":"https://api.github.com/users/HakanL/followers","following_url":"https://api.github.com/users/HakanL/following{/other_user}","gists_url":"https://api.github.com/users/HakanL/gists{/gist_id}","starred_url":"https://api.github.com/users/HakanL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HakanL/subscriptions","organizations_url":"https://api.github.com/users/HakanL/orgs","repos_url":"https://api.github.com/users/HakanL/repos","events_url":"https://api.github.com/users/HakanL/events{/privacy}","received_events_url":"https://api.github.com/users/HakanL/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-10-01T03:37:23Z","updated_at":"2015-10-02T21:53:34Z","closed_at":null,"body":"If I change the PlaySound sample to not loop and GetPosition or Stop is called after the sound has finished playing then I'm thrown a FmodInvalidHandleException. Obviously the handle is invalid (the channel has been stolen), but I wonder if it's correct to throw the exception, the C# code gets rather cluttered if we have to have a try/catch around all those just to see if the sample has finished. Suggestions?"},"comment":{"url":"https://api.github.com/repos/martindevans/SupersonicSound/issues/comments/145164891","html_url":"https://github.com/martindevans/SupersonicSound/issues/19#issuecomment-145164891","issue_url":"https://api.github.com/repos/martindevans/SupersonicSound/issues/19","id":145164891,"user":{"login":"HakanL","id":407941,"avatar_url":"https://avatars.githubusercontent.com/u/407941?v=3","gravatar_id":"","url":"https://api.github.com/users/HakanL","html_url":"https://github.com/HakanL","followers_url":"https://api.github.com/users/HakanL/followers","following_url":"https://api.github.com/users/HakanL/following{/other_user}","gists_url":"https://api.github.com/users/HakanL/gists{/gist_id}","starred_url":"https://api.github.com/users/HakanL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HakanL/subscriptions","organizations_url":"https://api.github.com/users/HakanL/orgs","repos_url":"https://api.github.com/users/HakanL/repos","events_url":"https://api.github.com/users/HakanL/events{/privacy}","received_events_url":"https://api.github.com/users/HakanL/received_events","type":"User","site_admin":false},"created_at":"2015-10-02T21:53:34Z","updated_at":"2015-10-02T21:53:34Z","body":"I was thinking, would it be better that the types that can become invalid from FMOD (Channel for example) have their methods return nullable results? For example GetPosition would return null if the channel is gone. That way you don't have to constantly check for exceptions in your consumer, and you can use the C#6 ? construct to check for null."}}