2016-07-10 3 views
-2

У меня есть этот код:Как я могу остановить исключение из-за выхода моего кода?

return JsonConvert.DeserializeObject<RootObject>(str1 + str2); 

Иногда это дает исключение и в данном случае я просто хотел бы вернуть нуль.

Есть ли способ остановить исключение, вызывающее выход кода, а вместо этого просто вернуть его?

+0

Да ... выполнить код, который может вызвать исключение в блоке try, уловить конкретный тип исключения (независимо от того, что есть) в блоке catch и вернуть null из блока catch. https://msdn.microsoft.com/en-us/library/0yd65esw.aspx –

+0

Посмотрите на 'try' /' catch'. –

ответ

0
try { 
return JsonConvert.DeserializeObject<RootObject>(str1 + str2); 
} 
catch (JsonReaderException) 
{ 
return null; 
} 
+1

За исключением того, что вы не ловите «Исключение», уловите * особый тип исключения *, созданный методом «DeserializeObject», который вы хотите обработать. –

+2

Он утверждает, что хочет вернуть null, когда происходит исключение. В этом случае не имеет значения, какое исключение – Daniel

+2

Это * всегда * имеет значение для каких исключений. Множество исключений не предназначалось для захвата. Написание 'catch (Exception)' никогда не бывает ошибкой. –

Смежные вопросы