Я предполагаю, что под "идентичным" вы ссылаетесь на поведение.
Поведение функции может быть определено следующим образом:
1) Возвращаемое значение
2)Брошенные исключения
3) Побочные эффекты (то есть изменения в куче, файловой системе и т. Д.)
В этом случае первый метод распространяет любое исключение, в то время как второй не генерирует проверенное исключение и глотаетбольшинство неконтролируемых исключений также, поэтому поведение отличается.
Однако, если вы гарантируете, что «что-то сделать» никогда не вызовет исключение, то поведение будет идентичным (хотя компилятор потребует, чтобы вызывающая сторонаобработать исключение, в первой версии)
- редактировать -
С точки зрения разработки API методы совершенно разные в своем контракте.Кроме того, бросать исключение класса не рекомендуется.Попробуйте добавить что-то более конкретное, чтобы позволить вызывающей стороне лучше обработать исключение.