1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef GIN_TRY_CATCH_H_ 6 #define GIN_TRY_CATCH_H_ 7 8 #include <string> 9 10 #include "base/basictypes.h" 11 #include "gin/gin_export.h" 12 #include "v8/include/v8.h" 13 14 namespace gin { 15 16 // TryCatch is a convenient wrapper around v8::TryCatch. 17 class GIN_EXPORT TryCatch { 18 public: 19 TryCatch(); 20 ~TryCatch(); 21 22 bool HasCaught(); 23 std::string GetStackTrace(); 24 25 private: 26 v8::TryCatch try_catch_; 27 28 DISALLOW_COPY_AND_ASSIGN(TryCatch); 29 }; 30 31 } // namespace gin 32 33 #endif // GIN_TRY_CATCH_H_ 34