export default {};
/* const userInfo: any = undefined;
class Test {
  getName() {
    try{
      return userInfo.name
    }catch(e) {
      console.log(e);
      
    }
  }
  getAge() {
    try{
      return userInfo.age
    }catch(e) {
      console.log(e);
      
    }
  }
}
const t = new Test()
t.getName()
t.getAge() */
/* 
const userInfo: any = undefined;
function catchErrorDecorator(target: any, key: string, descriptor: PropertyDescriptor) {
  const fn = descriptor.value
  descriptor.value = function() {
    try{
      fn()
    }catch(e) {
      console.log("userInfo上面不存在该属性");
      
    }
  }
}
class Test {
  @catchErrorDecorator
  getName() {
    return userInfo.name
  }
  @catchErrorDecorator
  getAge() {
    return userInfo.age
  }
}
const t = new Test()
t.getName()
t.getAge() */
const userInfo: any = undefined;
function catchErrorDecorator(msg: string) {
  return function (target: any, key: string, descriptor: PropertyDescriptor) {
    const fn = descriptor.value;
    descriptor.value = function () {
      try {
        fn();
      } catch (e) {
        console.log(msg);
      }
    };
  };
}
class Test {
  @catchErrorDecorator("userInfo.name 不存在")
  getName() {
    return userInfo.name;
  }
  @catchErrorDecorator("userInfo.age 不存在")
  getAge() {
    return userInfo.age;
  }
}
const t = new Test();
t.getName();
t.getAge();