首页 帮助中心 基调听云Browser 设置JS错误

设置JS错误接口

说明:适用于Vue、React、Angular。

TINGYUN.setError(err);

err:错误对象,需要包含两项属性: {message, stack}。

示例(Vue):

一般在src/main.js中配置:

Vue.config.errorHandler = function(err) {
    window['TINGYUN'].setError(err);
};

示例(React):

一般在src/index.js中配置:

class ErrorBoundary extends React.Component {
    constructor(props) {
        super(props);
        this.state = { hasError: false };
    }

    componentDidCatch(error) {
        this.setState({ hasError: true });
        window['TINGYUN'].setError(error);
    }

    render() {
        if (this.state.hasError) {
            return null;
        }
        return this.props.children;
    }
}

ReactDOM.render(<ErrorBoundary> <App /> </ErrorBoundary>, document.getElementById('root'));

示例(Angular):

一般在app.module.ts中配置:

import { ErrorHandler } from '@angular/core';

export class GlobalErrorHandler implements ErrorHandler {
   handleError(err:any) : void {
     window['TINGYUN'].setError(err);
   }
}

@NgModule({
   ...,
   providers: [ { provide: ErrorHandler, useClass: GlobalErrorHandler } ],
   ...
 })